Martin Schleiss próbował porównać różne otwarte projekty pod kątem złożoności kodu oraz zrozumienia, jak działa ten kod i jakie działania wykonuje. Na przykład projekt staje się trudniejszy do zrozumienia w przypadku zastosowania skomplikowanych abstrakcji, takich jak rozproszone interakcje komponentów w sieci, lub przy użyciu dużej liczby zagnieżdżonych modułów i klas.
Jako metrykę do oceny potencjalnej złożoności użyto zliczania liczby operacji importu, które tworzą splątanie różnych plików. Zakłada się, że osoba bez problemów potrafi rozpoznać 5-6 połączeń różnych plików, a przy zwiększeniu tej wartości zrozumienie logiki staje się trudniejsze.
Uzyskane wyniki (poziom trudności określany jako procent plików, w których znajdują się odniesienia do 7 i więcej innych plików).
- Elasticsearch — 77,2%
- Visual Studio Code — 60,3%.
- Rust — 58,6%
- Jądro 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%
Źródło: opennet.ru
