Martin Schleiss intentó comparar diferentes proyectos de código abierto en términos de la complejidad del código y la comprensión de cómo funciona el código y qué acciones realiza. Por ejemplo, un proyecto se vuelve más difícil de entender al aplicar abstracciones complejas, como la interacción distribuida de componentes a través de una red, o al utilizar un gran número de módulos y clases anidadas.
Como métrica para evaluar la complejidad potencial, se utilizó el conteo del número de operaciones de importación que crean entrelazados distintos de archivos. Se supone que una persona puede manejar sin problemas 5-6 conexiones de diferentes archivos, pero al aumentar este número, se vuelve más complicado entender la lógica.
Los resultados obtenidos (el nivel de complejidad se determina como el porcentaje de archivos que tienen referencias a 7 o más archivos diferentes).
- Elasticsearch — 77.2%
- Visual Studio Code — 60.3%.
- Rust — 58.6%
- Núcleo de 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%
Fuente: opennet.ru
