Bewertung des Grads der potenziellen Codekomplexität von Open-Source-Projekten

Martin Schleiss hat versucht, verschiedene Open-Source-Projekte hinsichtlich der Codekomplexität und des Verständnisses, wie der Code funktioniert und welche Aktionen er ausführt, zu vergleichen. Beispielsweise wird ein Projekt schwieriger zu verstehen, wenn es komplexe Abstraktionen nutzt, etwa die verteilte Kommunikation von Komponenten über ein Netzwerk, oder eine große Anzahl verschachtelter Module und Klassen verwendet.

Die zur Bewertung der potenziellen Komplexität verwendete Metrik bestand darin, die Anzahl der Importvorgänge zu zählen, die verschiedene Dateien miteinander verflochten. Es wird davon ausgegangen, dass eine Person problemlos 5-6 Verbindungen verschiedener Dateien analysieren kann, und je höher dieser Indikator ist, desto schwieriger wird es, die Logik zu verstehen.

Erhaltene Ergebnisse (Schwierigkeitsgrad ist definiert als der Prozentsatz der Dateien, die Links zu 7 oder mehr anderen Dateien haben).

  • Elasticsearch – 77.2 %
  • Visual Studio-Code – 60.3 %.
  • Rost – 58.6 %
  • Linux-Kernel – 48.7 %
  • PostgreSQL – 46.4 %
  • mongoDB – 44.7 %
  • Node.js – 39.9 %
  • PHP — 34.4 %
  • CPython – 33.1 %
  • Django – 30.1 %
  • reagierenJS – 26.7 %
  • Symfony – 25.5 %
  • Laravel – 22.9 %
  • nextJS – 14.2 %
  • Chakra-ui – 13.5 %

Source: opennet.ru

Kommentar hinzufügen