如何选择一个获胜的围棋模块

如何选择围棋模块

更新:从2021年5月1日起,GoCenter中央存储库已经过期,所有功能将被弃用。有关中心日落的更多信息请阅读弃用博文

由于几乎无穷无尽的Go模块列表,决定哪一个最适合你的Go构建可能会让人不知所措。对于新的Go开发人员来说,为您的特定用例选择一个优胜者可能很困难。

这种现象并不新鲜。事实上,这是原因之一开源对于开发人员来说非常重要。通常情况下,当开发人员发布模块时,它可能是为了解决他们所面临的特定问题而开发的。如果另一个开发人员要使用他们的模块来解决相同的问题,那么该模块中可能存在一些当前版本无法满足的性能标准。幸运的是,通常有很多版本去模块从中选择可以解决不同的用例。

一个模块的用例越多,在试图找到最适合特定用例的用例时,它就会变得越复杂。即使在您觉得已经为构建找到了正确的模块之后,您如何确定呢?让我们讨论一些你在决定围棋模块之前应该考虑的参数,并向你展示如何增加选择正确模块的几率!

选择围棋模块:什么是重要的

在选择围棋模块时,有很多很棒的选项,在考虑以下三个基本参数时,缩小这个列表是一项简单的任务:

  • 模块流行度——模块的广泛使用程度
  • 模块引用——模块的属性
  • 模块遵从性——该模块及其依赖项中的安全级别

在选择Go模块时,这些因素都非常重要,因为它们都会直接影响构建的成功。对于每个参数,我们将展示GoCenter中的一个模块示例,GoCenter是版本化Go模块的免费存储库。

模块的受欢迎程度

当选择你的围棋模块时,重要的是你想要的模块已经被其他人采用和使用。被许多其他开发人员使用过的模块更有可能解决预期的问题;还有一种可能性是开发人员仍然在使用该模块,以确保它不断更新。有两种有效的方法来检查一个模块的受欢迎程度。

对于开发人员来说,衡量一个模块受欢迎程度最有用的方法之一是查看它在Github上获得的星星数量。检查一个模块受欢迎程度的另一种方法是检查它被其他人下载的次数。这些都是为任何编程语言选择模块的经过测试和证明的方法。由于围棋是一种相对较新的编程语言,下载的数量可能并不总是反映模块的受欢迎程度,尤其是当模块是新的时候。如果是这种情况,建议您也看看贡献者的数量。一个受欢迎的模块,有大量的Github星,下载(如果适用)和贡献者,这意味着你有更高的机会,这个模块是适合你的构建。这里,你可以看到一个流行的围棋模块的例子,Aws-sdk-go.它有5790年星星和452,277次下载,这意味着成千上万的开发人员已经使用了这个模块,可以验证它是安全的、可靠的,并且有一个解决他们特定用例的版本。它也有222个贡献者,确保许多人已经使用和开发了模块的其他版本来满足他们的用例:

GoCenter Go模块指标截图

模块引用

检查模块的引用是确保为构建选择正确模块的另一种有效方法。它提供了对该模块的依赖项的洞察,可用于发现哪些其他模块正在使用您感兴趣的模块。通过引用使用所需模块的模块,您可能会注意到大型公司使用该模块,这意味着它更可能是安全和可用的。

例如,下面我们有相关的信息AWS模块.乍一看,在这个模块上没有发现任何负面信息。“Used By”选项卡显示了哪些模块正在使用您想要使用的模块。下面,我们看到一个企业正在使用这个模块,几乎可以确保该模块是安全的。

GoCenter goproxy“所用的”模块选项卡截图

模块合规

随着公共共享代码/模块的使用增加,开发人员和组织需要一种方法来检查有问题的模块是否足够安全,可以使用。当我们提到安全性时,它完全是关于模块的安全性和存在的漏洞。下面的例子是一个有两个模块的模块安全漏洞,这意味着使用这个模块可能有风险:

GoCenter goproxy Security选项卡f模块页面截图

最佳遵从性实践包括选择没有漏洞的模块。虽然这很简单,但有时要找到一个没有漏洞的模块是不可能的。如果您使用的模块有一两个漏洞,请检查模块更新的频率。如果在最近的4-5个版本中仍然存在相同的安全问题,则模块的作者可能不会进行任何更新或试图缓解该问题。这最终意味着您需要寻找另一个模块来使用,或者您需要构建一个最适合您的模块!我从不建议使用脆弱的模块。

现在就选吧!

在选择围棋模块时,很难选出一个优胜者。最终会影响决策过程的参数有很多,通常情况下,这完全取决于个人的偏好。在使用模块之前,一定要始终检查它们的流行程度、引用和遵从性。现在,用你学到的知识武装自己,从今天开始使用Go模块吧!