Martin Schleiss は、コードの複雑さと、コードがどのように機能し、どのようなアクションが実行されるかを理解するという観点から、さまざまなオープンソース プロジェクトを比較しようとしました。たとえば、ネットワーク上でのコンポーネントの分散通信など、複雑な抽象化を使用したり、ネストされたモジュールやクラスを多数使用したりすると、プロジェクトを理解するのはさらに困難になります。
潜在的な複雑さを評価するために使用されるメトリックは、異なるファイルが絡み合うインポート操作の数を数えることでした。人間は異なるファイルの 5 ~ 6 個の接続を簡単に解析できると想定されており、この指標が増加するにつれて、ロジックを理解することがより困難になります。
得られた結果 (難易度は、7 つ以上の他のファイルへのリンクを持つファイルの割合として定義されます)。
- エラスティックサーチ - 77.2%
- Visual Studio コード - 60.3%。
- 錆び - 58.6%
- Linux カーネル - 48.7%
- PostgreSQL - 46.4%
- モンゴDB - 44.7%
- Node.js - 39.9%
- ペソ — 34.4%
- CPython - 33.1%
- ジャンゴ - 30.1%
- 反応JS - 26.7%
- シンフォニー - 25.5%
- ララベル - 22.9%
- nextJS - 14.2%
- チャクラウイ - 13.5%
出所: オープンネット.ru