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

Мартин Шлейс (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