Оцінка рівня потенційного ускладнення коду відкритих проектів

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

Джерело: opennet.ru

Додати коментар або відгук