Procjena nivoa potencijalne složenosti koda projekata otvorenog koda

Martin Schleiss je pokušao uporediti različite projekte otvorenog koda u smislu složenosti koda i razumijevanja kako kod funkcionira i koje radnje izvodi. Na primjer, projekt postaje teže razumjeti kada koristi složene apstrakcije, kao što je distribuirana komunikacija komponenti preko mreže, ili koristi veliki broj ugniježđenih modula i klasa.

metrika korištena za procjenu potencijalne složenosti bila je brojanje broja operacija uvoza koje su preplitale različite datoteke. Pretpostavlja se da osoba može lako analizirati 5-6 veza različitih datoteka, a kako se ovaj indikator povećava, postaje sve teže razumjeti logiku.

Dobijeni rezultati (nivo težine se definiše kao procenat fajlova koji imaju veze sa 7 ili više drugih fajlova).

  • Elasticsearch - 77.2%
  • Visual Studio Code - 60.3%.
  • Rđa - 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%
  • reactJS - 26.7%
  • Symfony - 25.5%
  • Laravel - 22.9%
  • nextJS - 14.2%
  • čakra-ui - 13.5%

izvor: opennet.ru

Dodajte komentar