Valutare il livello di potenziale complessità del codice dei progetti open source

Martin Schleiss ha provato a confrontare vari progetti open source in termini di complessità del codice e comprensione di come funziona il codice e quali azioni esegue. Ad esempio, un progetto diventa più difficile da comprendere quando utilizza astrazioni complesse, come la comunicazione distribuita di componenti su una rete, o utilizza un gran numero di moduli e classi nidificati.

La metrica utilizzata per valutare la potenziale complessità contava il numero di operazioni di importazione che intrecciavano file diversi. Si presume che una persona possa facilmente analizzare 5-6 connessioni di file diversi e, man mano che questo indicatore aumenta, diventa più difficile comprenderne la logica.

Risultati ottenuti (il livello di difficoltà è definito come la percentuale di file che hanno collegamenti a 7 o più altri file).

  • Ricerca elastica - 77.2%
  • Codice di Visual Studio: 60.3%.
  • Ruggine - 58.6%
  • Kernel Linux - 48.7%
  • PostgreSQL - 46.4%
  • mongoDB - 44.7%
  • Node.js - 39.9%
  • PHP — 34.4%
  • CPython: 33.1%
  • Django - 30.1%
  • reagireJS - 26.7%
  • Symfony - 25.5%
  • Laravel - 22.9%
  • successivoJS - 14.2%
  • chakra-ui - 13.5%

Fonte: opennet.ru

Aggiungi un commento