Оценка уровня потенциального усложнения кода открытых проектов

Мартин Шлейс (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%
Release. Ссылка here.