Martin Schleiss heeft geprobeerd verschillende open-source projecten te vergelijken op het gebied van codecomplexiteit en het begrip van hoe de code werkt en welke acties worden uitgevoerd. Een project wordt bijvoorbeeld moeilijker te begrijpen bij het toepassen van complexe abstracties, zoals gedistribueerde interactie tussen componenten over een netwerk, of bij het gebruik van een groot aantal geneste modules en klassen.
Als metriek voor het beoordelen van potentiële complexiteit werd het aantal importbewerkingen geteld dat de verwevenheid van verschillende bestanden vormt. Er wordt aangenomen dat een persoon zonder problemen 5-6 verwijzingen naar verschillende bestanden kan begrijpen, maar bij een hogere hoeveelheid wordt het moeilijker om de logica te doorgronden.
De verkregen resultaten (het complexiteitsniveau wordt gedefinieerd als het percentage bestanden waarin verwijzingen naar 7 of meer andere bestanden aanwezig zijn).
- Elasticsearch — 77,2%
- Visual Studio Code — 60,3%.
- Rust — 58,6%
- Linux-kernel — 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%
Bron: opennet.ru
