Мартин Шлейс (Martin Schleiss) попытался сравнить различные открытые проекты с точки зрения усложнённости кода и понимания как код работает и какие действия выполняет. Например, проект становится более сложен для понимания при применении сложных абстракций, таких как распределённое взаимодействие компонентов по сети, или использовании большого числа вложенных модулей и классов.
В качестве метрики для оценки потенциальной усложнённости использовался подсчёт числа операций импорта, образующих переплетение различных файлов. Предполагается, что человек без проблем может разобрать 5-6 подключений разных файлов, а при увеличении данного показателя понять логику становится сложнее.
Полученные результаты (уровень сложности определяется как процент файлов, в которых имеются ссылки на 7 и более других файлов).
Источник статьи: https://www.opennet.ru/opennews/art.shtml?num=55187
В качестве метрики для оценки потенциальной усложнённости использовался подсчёт числа операций импорта, образующих переплетение различных файлов. Предполагается, что человек без проблем может разобрать 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%
Источник статьи: https://www.opennet.ru/opennews/art.shtml?num=55187