Martin Schleiss a încercat să compare diferite proiecte open-source din perspectiva complexității codului și a înțelegerii modului în care codul funcționează și ce acțiuni execută. De exemplu, un proiect devine mai greu de înțeles atunci când se aplică abstracții complexe, cum ar fi interacțiunea distribuită a componentelor prin rețea, sau utilizarea unui număr mare de module și clase încrucișate.
Pentru a evalua complexitatea potențială, s-a folosit ca metrică numărul operațiunilor de import care creează imbricări între diferite fișiere. Se consideră că o persoană poate gestiona fără probleme 5-6 conexiuni la diferite fișiere, iar odată cu creșterea acestui indicator, devine mai greu să înțelegi logica.
Rezultatele obținute (nivelul de complexitate este definit ca procentul fișierelor care fac referire la 7 sau mai multe alte fișiere).
- Elasticsearch — 77.2%
- Visual Studio Code — 60.3%.
- Rust — 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%
- reactJS — 26.7%
- Symfony — 25.5%
- Laravel — 22.9%
- nextJS — 14.2%
- chakra-ui — 13.5%
Sursa: opennet.ro
