首页 >新闻 > 科技 > 内容

选择正确的开放源代码的5个技巧

科技 2019-12-10 17:41:52

谷歌进行的研究表明,对于许多开发者来说,在线消费代码消耗了一天的大部分时间。找到一个简单的函数,一个库,一个有用的包,一个可重用的组件或一个有用的“如何”博客教程并不总是简单的。了解您是否可以信任并使用您发现的代码可能会更加棘手。

找到正确的代码通常意味着转向谷歌或其他搜索引擎的神,在一个查询和交叉手指中投入一个快速的胜利。简单的功能查询(例如“JavaScript拥有自己的属性”)可能会导致不同的论坛和博客帖子,而更高级的描述(“反应组分X”)通常会在Github或NPM中着陆。

但是,即使在找到正确的代码后,信任和使用它是一个完全不同的问题。为了帮助理解您可以实际使用的代码,我收集了5个参数,这些参数可以帮助您考虑。做出正确的决定应考虑这些参数(包括其他参数)以及任务本身的性质。这里有五个键YOucan考虑选择正确的代码。

可读代码不仅仅意味着良好的评论和文档。这意味着代码本身应该对您是可读的。用于可读性的不同参数可以是良好的命名约定,用于标识符、良好的间隔、清晰的可读逻辑、良好理解的范围等。底线是,代码应该对你是可读的。当你选择一个代码,即使是一个作品,但你不完全理解它是如何工作的-你基本上把一个维护时间-炸弹带到你的代码库中。

调试、修改、更新和维护您无法读取的代码是您应极力避免的事情。避免它的最好方法是在可能的时候将它放在第一位。

我们想要我们选择的代码是“活着”。也就是说,我们想知道错误、问题和更新正在处理中,并且该代码将由编写该代码的开发人员积极维护。活动指示符的一个很好的例子可以是Github的打开问题、拉请求和脉冲指示符。程序包管理器提供与维护相关的信息,例如依赖项和相关项目的数量,但仍在此领域中为当前可靠的度量提供了斗争。

尽管如此,如果一个大的流行项目依赖于另一个包,我们可以假设问题很有可能被修复(然而,我们都记得左垫板)。但是,当从堆栈溢出(这本身就是一个问题)复制代码时,您无法知道您可以信任此代码将被维护,而不是在需要时(以及在您复制它的任何地方)自己更新它。

小的核心功能根本不会有太大的变化。本着这种精神,从Bit依赖导入的可重用组件依赖于一个简单的增量版本控制,每次它的作者更改某件东西时,组件的s版本都会增加1。将您的组件保持在“最新更新”版本意味着,在良好的测试中,您的代码可以由其维护人员主动维护,同时仍然更新代码中的小函数或组件,而不会破坏任何东西。

选择工作的代码可能是我们的首要任务。测试是一种很好的方法,知道我使用的代码是否确实做了它应该做的事情。测试描述也呈现不同的用例和边缘案例,这有助于我们知道该代码如何在不同的情况下运行。使用经过测试的组件使更可维护的软件成为一个整体,在滚动到生产之前尝试更改物料时,节省了时间和麻烦。

从Web上复制的片段通常不带有测试。很少,如果根本,从论坛或博客帖子复制的功能将包括单元测试。可以很好地测试软件包和库,问题在于能够快速找出它。当探索Github上的库时,存储库中的不同标记或文件可以指示如何测试该代码的多少和多少。我们仍然必须使用外部工具提供的指标来确定是否通过了测试。在寻找一个包的同时,并没有真正的可靠的方法来了解哪个包被测试,以及测试是否有效地通过。在打包可发现性方面,这是一个大问题。可重复使用

在寻找一个包时,没有一种可靠的方法来知道哪个包被测试,以及测试是否有效地通过。当涉及到包的可发现性时,这是一个大问题。如果开发人员添加了可重用的Bit组件,则可以对其进行测试。位范围运行测试,以便在从位社区中心选择组件之前,可以在线显示绿色指示器和测试描述(或者通过CLI以分布式方式在本地机器上使用)。

流行是我们进化信任的产物。舆论对做出有助于我们生存的决定是很好的。如果我们看到每个人在树上吃某种水果,我们就知道它可能不会杀了我们。如果我们看到每个人都在灌木丛中奔跑,一只饥饿的老虎很快就会跟着。在某种程度上,2017年选择代码也是一样的。

围绕编程论坛,我们可以使用不同的指示,如标记正确答案的“V”,向上投票的数量和声音用户的意见。这些都是极好的和令人放心的特性,以增加概率,代码工作良好。当谈到GitHub时,我们可以依靠明星、合作者和其他社会指标来获得信任感。在寻找软件包时,一个很好的指标是这个软件包的下载次数。

在位社区集线器上找到的位组件提供了下载数、合作者(在作用域级别上)、简单的“喜欢”和更多(如组件的这一反应范围所示)。无论哪种方式,记住社会指标都是一个很好的指示,但对于代码的质量来说,BOT是绝对的真理。人们常常是错误的,公众舆论比我们想象的更快。

文档使代码更易于理解、使用和修改。它对编写代码的开发人员的思想和谨慎也是一个很好的指示。在堆栈溢出或不同博客帖子上找到的代码文档可以包括代码本身中的注释以及在中找到的实际答案或博客。当论坛应答包括对其包含的代码的有用的阐述时,即使在复制代码本身时(请不要复制粘贴代码),这可能是一个值得添加的文档。

对于GitHub存储库和包来说,情况要复杂一些。通常,在GitHub或NPM上提交的自述文件和文档文件将提供关于文件质量的一般指示。位组件的文档是从代码本身中解析的,因此它显示了原子组件的实际描述,还可以包括使用示例和指定的签名,包括Reaction组件和其他组件的不同函数和行为的参数和返回。无论哪种方式,只要有可能,选择有文档的代码都是一个好决定。

对于GitHub存储库和包来说,情况要复杂一些。通常,在GitHub或NPM上提交的自述文件和文档文件将提供关于文件质量的一般指示。位组件的文档是从代码本身中解析的,因此它显示了原子组件的实际描述,还可以包括使用示例和指定的签名,包括Reaction组件和其他组件的不同函数和行为的参数和返回。无论哪种方式,只要有可能,选择有文档的代码都是一个好决定。

一天下来,人类的记忆是有限的,每一次重新发明轮子都没有多大意义。然而,当发现和使用一段开源代码时,上述指示符可以帮助确保您的应用程序安全、可维护、工作正常。

不同的用例意味着对不同的参数给予不同的权重。在选择包时,很难知道它是如何经过测试、可读性、文档化和有效维护的。在从网上论坛复制代码时,我们可能会把受欢迎程度放在比测试、维护等等更重要的位置。BIT组件结合了与导入和重用组件和原子功能相关的信息,例如描述、示例、下载、依赖关系、测试描述、测试结果等等。通过仔细考虑这些不同的参数,我们可以做出明智的决定,跨越寻找和选择合适的工作代码的迷宫。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。