您选择供企业使用的(开源)库(或框架)的标准是什么?

有些库非常小,可以轻松检查安全缺陷或测试性能。但大多数库都太大,在您开始使用之前无法对其进行审查。

当我想到我选择图书馆时,大多数情况下选择过程只是直觉。当我试图更具体时,我想到的第一个标准是:

  1. 有多少开发人员正在开发该项目?我的感觉是,更多的开发人员会发现更多的错误和安全问题。此外,故意引入安全问题将变得更加困难。
  2. 支持有多好?与闭源库相比,我感觉开源的支持通常要好得多,因为您在全球范围内拥有一个社区,只要您需要它们就可以使用。
  3. 图书馆的分布范围有多大?市场上有这方面的书籍吗?还有哪些其他项目正在使用该库?

你的标准是什么?请随意编辑此注释作为社区 wiki。

有帮助吗?

解决方案

对我来说,这取决于是否付费。就您而言,您给人的印象是您正在查看开源库。

在这种特定情况下,我将查看测试覆盖率。无论贡献者的数量有多少,如果没有任何我可以自己运行的单元测试(以及增强和测试我的用例,如果它们超出了所提供的单元测试的覆盖范围),那么这对我来说是一个大问题我。

这并不是说我不欣赏在提供库方面已经完成的工作,而是像这样的项目中的代码应该已经具有良好覆盖范围的单元测试,以便获得吸引力。

如果没有具有单元测试的库,那么我会开始在搜索引擎上搜索该库,积极寻找负面回复。对代码有负面感受的人,并且能够根据代码如何让他们失败来具体化这些感受的客观基础,将比那些说“它工作得很好”的大众提供更有价值的反馈。

现在对于一段商业代码来说,情况就完全不同了。那时,我会开始将公司及其支持人员视为一个整体,并以此作为决定(以及您自己的测试,看看该库是否适合您)是否使用该公司的产品。

其他提示

在开源库中,您常常无法获得可靠的支持。在这种情况下,最好的办法是自己修复它,这涉及以下要求。

  1. 您需要有能力阅读经常混乱且未记录的代码。
  2. 向正确的人提出正确问题的技术能力——也就是说,这些人不会得到报酬来解决问题,只有当你让问题变得足够简单时,他们才会回答你。
  3. 然后你需要有能力修复错误并让补丁被接受——因为如果补丁不被接受......

考虑到这一点,我倾向于购买一个商业图书馆或双重许可图书馆,这样我就可以付费聘请一位有能力的工程师(受我付给他公司的钱的激励)来解决我的问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top