Evaluation of level of potential complication of open projects

Martin Schleis (Martin Schleiss) tried Compare various open projects in terms of comprehension Code and understanding How the code works and what actions performs. For example, the project becomes more complicated to understand when applying complex abstractions, such as distributed interaction of components over the network, or the use of a large number of nested modules and classes.

As a metric to assess potential complications, the counting of the number of import operations that form the interlacing of various files was used. It is assumed that a person without problems can disassemble 5-6 connections of different files, and with an increase in this indicator, the logic becomes more complicated.

The results obtained (the level of complexity is defined as the percentage of files in which there are links to 7 and more other files).

  • ElasticSearch – 77.2%
  • Visual Studio Code – 60.3%.
  • rust – 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%
  • chakra-ui – 13.5%
/Media reports.