Martin Schleiss ha provato a confrontare vari progetti open source in termini di complessità del codice e comprensione di come funziona il codice e quali azioni esegue. Ad esempio, un progetto diventa più difficile da comprendere quando utilizza astrazioni complesse, come la comunicazione distribuita di componenti su una rete, o utilizza un gran numero di moduli e classi nidificati.
La metrica utilizzata per valutare la potenziale complessità contava il numero di operazioni di importazione che intrecciavano file diversi. Si presume che una persona possa facilmente analizzare 5-6 connessioni di file diversi e, man mano che questo indicatore aumenta, diventa più difficile comprenderne la logica.
Risultati ottenuti (il livello di difficoltà è definito come la percentuale di file che hanno collegamenti a 7 o più altri file).
- Ricerca elastica - 77.2%
- Codice di Visual Studio: 60.3%.
- Ruggine - 58.6%
- Kernel Linux - 48.7%
- PostgreSQL - 46.4%
- mongoDB - 44.7%
- Node.js - 39.9%
- PHP — 34.4%
- CPython: 33.1%
- Django - 30.1%
- reagireJS - 26.7%
- Symfony - 25.5%
- Laravel - 22.9%
- successivoJS - 14.2%
- chakra-ui - 13.5%
Fonte: opennet.ru