Avaliando o nível de complexidade potencial de código de projetos de código aberto

Martin Schleiss tentou comparar vários projetos de código aberto em termos de complexidade de código e compreensão de como o código funciona e quais ações ele executa. Por exemplo, um projeto se torna mais difícil de entender quando utiliza abstrações complexas, como comunicação distribuída de componentes em uma rede, ou utiliza um grande número de módulos e classes aninhados.

A métrica usada para avaliar a complexidade potencial foi contar o número de operações de importação que interligavam diferentes arquivos. Supõe-se que uma pessoa possa analisar facilmente de 5 a 6 conexões de arquivos diferentes e, à medida que esse indicador aumenta, fica mais difícil entender a lógica.

Resultados obtidos (o nível de dificuldade é definido como a porcentagem de arquivos que possuem links para 7 ou mais outros arquivos).

  • Elasticsearch – 77.2%
  • Código do Visual Studio - 60.3%.
  • Ferrugem - 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%
  • reagir JS - 26.7%
  • Symfony - 25.5%
  • Laravel – 22.9%
  • próximoJS - 14.2%
  • chakra-ui - 13.5%

Fonte: opennet.ru

Adicionar um comentário