Мартин Шлейс (Martin Schleiss) попытался сравнить различные открытые проекты с точки зрения усложнённости кода и понимания как код работает и какие действия выполняет. Например, проект становится более сложен для понимания при применении сложных абстракций, таких как распределённое взаимодействие компонентов по сети, или использовании большого числа вложенных модулей и классов.
В качестве метрики для оценки потенциальной усложнённости использовался подсчёт числа операций импорта, образующих переплетение различных файлов. Предполагается, что человек без проблем может разобрать 5-6 подключений разных файлов, а при увеличении данного показателя понять логику становится сложнее.
Полученные результаты (уровень сложности определяется как процент файлов, в которых имеются ссылки на 7 и более других файлов).
- Elasticsearch – 77.2%
- Visual Studio Code – 60.3%.
- Rust – 58.6%
- Ядро 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%