Оценка уровня потенциального усложнения кода открытых проектов
Мартин Шлейс (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%
Источник: http://www.opennet.ru/opennews/art.shtml? num=55187
© OpenNet