Evaluarea nivelului de complexitate potențială de cod al proiectelor open source

Martin Schleiss a încercat să compare diferite proiecte open source în ceea ce privește complexitatea codului și înțelegerea modului în care funcționează codul și acțiunilor pe care le efectuează. De exemplu, un proiect devine mai dificil de înțeles atunci când folosește abstracții complexe, cum ar fi comunicarea distribuită a componentelor într-o rețea, sau folosește un număr mare de module și clase imbricate.

Valoarea utilizată pentru a evalua complexitatea potențială a fost numărarea numărului de operațiuni de import care împleteau fișiere diferite. Se presupune că o persoană poate analiza cu ușurință 5-6 conexiuni de fișiere diferite și, pe măsură ce acest indicator crește, devine mai dificil de înțeles logica.

Rezultate obținute (nivelul de dificultate este definit ca procentul de fișiere care au link-uri către 7 sau mai multe alte fișiere).

  • Elasticsearch - 77.2%
  • Cod Visual Studio - 60.3%.
  • Rugina - 58.6%
  • Nucleu 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%

Sursa: opennet.ru

Adauga un comentariu