Martin Schleiss attempted to compare various open-source projects in terms of code complexity and understanding how the code works and what actions it performs. For example, a project becomes more challenging to comprehend when applying complex abstractions, such as distributed interaction of components across a network, or using a large number of nested modules and classes.
As a metric for assessing potential complexity, the count of import operations forming an entanglement of various files was used. It is assumed that a person can easily comprehend 5-6 connections from different files, but as this number increases, it becomes more difficult to understand the logic.
The results obtained (level of complexity defined as the percentage of files that have links to 7 or more other files).
- 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%
Source: opennet.ru
