Het beoordelen van het niveau van potentiële codecomplexiteit van open source-projecten

Martin Schleiss probeerde verschillende open source-projecten met elkaar te vergelijken op het gebied van codecomplexiteit en begrip van hoe de code werkt en welke acties deze uitvoert. Een project wordt bijvoorbeeld moeilijker te begrijpen als het gebruik maakt van complexe abstracties, zoals gedistribueerde communicatie van componenten via een netwerk, of als er gebruik wordt gemaakt van een groot aantal geneste modules en klassen.

De maatstaf die werd gebruikt om de potentiële complexiteit te beoordelen, was het tellen van het aantal importbewerkingen waarbij verschillende bestanden met elkaar waren verweven. Er wordt aangenomen dat een persoon gemakkelijk 5-6 verbindingen van verschillende bestanden kan ontleden, en naarmate deze indicator toeneemt, wordt het moeilijker om de logica te begrijpen.

Behaalde resultaten (moeilijkheidsgraad wordt gedefinieerd als het percentage bestanden dat links bevat naar 7 of meer andere bestanden).

  • Elastisch zoeken - 77.2%
  • Visual Studio-code - 60.3%.
  • Roest - 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%
  • reageerJS - 26.7%
  • Symfonie - 25.5%
  • Laravel - 22.9%
  • volgendeJS - 14.2%
  • chakra-ui - 13.5%

Bron: opennet.ru

Voeg een reactie