亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 物联网技术

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

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

找到正确的代码通常意味着求助于谷歌或其他搜索引擎的上帝,提出查询并交叉手指以快速获胜。简单的函数式查询,例如“Javascript 拥有自己的属性”,可能会导致不同的论坛和博客文章,而更高级别的描述(“React 组件 x”)通常会让你进入 GitHub 或 NPM。

然而,即使找到了正确的代码——信任和使用它也是一个完全不同的问题。为了帮助理解您可以实际使用哪些代码,我收集了 5 个有助于考虑的参数。做出正确的决定应该考虑这些参数(以及其他参数)以及任务本身的性质。以下是您可以考虑选择正确代码的 5 个关键。

#1。代码可读吗?

可读的代码不仅仅意味着好的注释和文档。这意味着代码本身应该是可读的。不同的可读性参数可以是标识符的良好命名约定、良好的间距、清晰的可读逻辑、易于理解的范围等等。最重要的是,代码应该是可读的 .当您选择一段代码时,即使是一个有效的代码,但您并不完全了解它是如何工作的——您基本上是在您的代码库中引入了一个维护定时炸弹。

调试、修改、更新和维护你无法阅读的代码是你应该强烈避免的。避免它的最好方法是在可能的情况下永远不要让它放在首位。

#2。代码是否积极维护?

我们希望我们选择的代码是“活跃的”。意思是,我们想知道正在处理的错误、问题和更新,并且这些代码将由编写它的开发人员积极维护。活动指示器的一个很好的例子可以是 GitHub 的开放问题、拉取请求和脉冲指示器。包管理器提供与维护相关的信息,例如依赖项和依赖项目的数量,但仍然难以在该领域提供值得信赖的指标。

尽管如此,如果一个大的流行项目依赖于另一个包,我们可以假设问题很可能被修复(但是,我们都记得左键)。但是,当从堆栈溢出(这本身就是一个问题)复制代码时,除了在需要时(以及复制它的任何地方)自行更新之外,您无法确定您可以相信这些代码会得到维护。

小的核心功能根本不会改变太多。本着这种精神,从 Bit 导入的可重用组件依赖于简单的增量版本控制,每次作者更改某些内容时,该组件的版本都会增加 1。将您的组件保持在“最新更新”的版本中意味着,如果经过良好的测试,您的代码可以由其维护者积极维护,同时仍然可以在不破坏任何内容的情况下更新代码中的小功能或组件。

#3。代码是否经过良好测试?

选择有效的代码可能是我们的首要任务。测试是了解我使用的代码是否真的完成了它应该做的事情的好方法。测试描述还提供了不同的用例和边缘情况,帮助我们了解此代码在不同情况下的行为。使用经过测试的组件可以使整个软件更易于维护,从而在投入生产之前尝试更改内容时节省时间和麻烦。

从网上复制的片段通常不附带测试。很少,如果有的话,从论坛或博客文章中复制的功能将包括单元测试。包和库很可能会被测试,问题在于能够快速弄清楚。在 GitHub 上探索库时,存储库中的不同标记或文件可以表明此代码的测试情况和程度。我们仍然需要使用外部工具提供的指标来确定测试是否通过。在寻找包时,并没有真正可靠的方法来了解测试了哪个包以及测试是否有效地通过了。当涉及到包的可发现性时,这是一个大问题。可重复使用

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

#4。代码是否被其他人使用?

流行是我们进化所信任的东西。舆论有利于做出有助于我们生存的决定。如果我们看到每个人都吃树上的某种水果,我们知道它可能不会杀死我们。如果我们看到每个人都从灌木丛中跑出来,饥饿的老虎可能很快就会跟上来。在某种程度上,2017 年的代码选择也是如此。

在编程论坛中,我们可以使用不同的指示,例如标记正确答案的“V”、点赞数和用户声音意见。这些都是出色且令人放心的功能,可以增加代码正常工作的可能性。谈到 GitHub,我们可以依靠明星、合作者和其他社交指标来获得值得信赖的感觉。在查找包时,一个很好的指标是该包的下载次数。

在 Bit 社区中心找到的 Bit 组件显示了下载数量、合作者(在范围级别)、简单的“喜欢”等(如这个 React 组件范围所示)。无论哪种方式,请记住社交指标是一个很好的指示——但机器人是关于代码质量的绝对真理。人往往是错的,舆论的变化比我们想象的要快。

#5.代码是否有详细记录?

文档使代码更易于理解、使用和修改。这也很好地表明了编写代码的开发人员投入其中的思想和谨慎。在 Stack Overflow 或不同博客文章中找到的代码文档可以由代码本身中的注释以及在其中找到的实际答案或博客组成。当论坛答案包含对其包含的代码的有用详细说明时,这即使在复制粘贴代码本身时也很可能是值得添加的文档(再次提醒,请不要复制粘贴代码)。

对于 GitHub 存储库和包,事情有点棘手。通常,GitHub 或 NPM 上提供的自述文件和文档文件将提供有关文档质量的一般指示。 Bit 组件的文档是从代码本身中解析出来的,因此它显示了原子组件的实际描述,还可以包括使用示例和指定的签名,包括 React 组件和其他组件的不同函数和行为的参数和返回。无论哪种方式,尽可能选择文档化的代码都是一个不错的决定。

对于 GitHub 存储库和包,事情有点棘手。通常,GitHub 或 NPM 上提供的自述文件和文档文件将提供有关文档质量的一般指示。 Bit 组件的文档是从代码本身中解析出来的,因此它显示了原子组件的实际描述,还可以包括使用示例和指定的签名,包括 React 组件和其他组件的不同函数和行为的参数和返回。无论哪种方式,尽可能选择文档化的代码都是一个不错的决定。

做出决定

归根结底,人类的记忆力是有限的,每次重新发明轮子真的没有多大意义。但是,在查找和使用一段开源代码时,上述指标可以帮助确保您的应用程序保持安全、可维护、正常运行和良好的运行状况。

不同的用例意味着给不同的参数赋予不同的权重。选择软件包时,很难知道它的测试、可读性、记录和积极维护情况。从在线论坛复制代码时,我们可能会优先考虑受欢迎程度而不是测试、维护等。位组件结合了与导入和重用组件和原子功能相关的信息,例如描述、示例、下载、依赖项、测试描述、测试结果等。通过仔细考虑这些不同的参数,我们可以做出明智的决定,并跨越为工作寻找和选择正确代码的迷宫。


物联网技术

  1. 选择正确的 CNC 维修服务的 ips
  2. 软件风险:保护物联网中的开源
  3. 选择正确 CNC 机床的提示
  4. 边缘开源的需求(电子书)
  5. 选择正确的订单管理系统的5个技巧
  6. 选择合适的定制制造公司的 5 个技巧
  7. 选择合适尺寸的小型挖掘机的提示
  8. 为您的设备租赁选择合适的附件
  9. 选择合适的景观设备
  10. 为您的重型设备选择合适的保险
  11. 为您的农场选择合适的紧凑型设备
  12. 为 CNC 加工选择合适的材料