Martin Schleiss 试图从代码复杂性以及对代码如何工作及其执行的操作的理解方面比较各种开源项目。例如,当项目使用复杂的抽象(例如通过网络进行组件的分布式通信)或使用大量嵌套的模块和类时,项目会变得更难以理解。
用于评估潜在复杂性的指标是计算交织不同文件的导入操作的数量。假设一个人可以轻松解析5-6个不同文件的连接,随着这个指标的增加,理解逻辑变得更加困难。
获得的结果(难度级别定义为链接到 7 个或更多其他文件的文件的百分比)。
- 弹性搜索 - 77.2%
- Visual Studio 代码 - 60.3%。
- 铁锈 - 58.6%
- Linux 内核 - 48.7%
- PostgreSQL - 46.4%
- MongoDB - 44.7%
- Node.js - 39.9%
- PHP——34.4%
- CPython - 33.1%
- 姜戈 - 30.1%
- 反应JS - 26.7%
- 交响乐 - 25.5%
- 拉拉维尔 - 22.9%
- nextJS - 14.2%
- 查克拉-ui - 13.5%
来源: opennet.ru