Açıq mənbəli layihələrin potensial kod mürəkkəbliyi səviyyəsinin qiymətləndirilməsi

Martin Schleiss müxtəlif açıq mənbə layihələrini kodun mürəkkəbliyi və kodun necə işlədiyini və hansı hərəkətləri yerinə yetirdiyini başa düşmək baxımından müqayisə etməyə çalışdı. Məsələn, bir layihə komponentlərin şəbəkə üzərində paylanmış kommunikasiyası kimi mürəkkəb abstraksiyalardan istifadə etdikdə və ya çoxlu sayda yuvalanmış modul və siniflərdən istifadə etdikdə onu başa düşmək çətinləşir.

Potensial mürəkkəbliyi qiymətləndirmək üçün istifadə edilən metrik müxtəlif faylları bir-birinə bağlayan idxal əməliyyatlarının sayını hesablayırdı. Ehtimal olunur ki, insan müxtəlif faylların 5-6 əlaqəsini asanlıqla təhlil edə bilir və bu göstərici artdıqca məntiqi başa düşmək çətinləşir.

Əldə edilən nəticələr (çətinlik səviyyəsi 7 və ya daha çox digər fayla keçidi olan faylların faizi kimi müəyyən edilir).

  • Elasticsearch - 77.2%
  • Visual Studio Kodu - 60.3%.
  • Pas - 58.6%
  • Linux nüvəsi - 48.7%
  • PostgreSQL - 46.4%
  • mongoDB - 44.7%
  • Node.js - 39.9%
  • PHP - 34.4%
  • CPython - 33.1%
  • Django - 30.1%
  • reactJS - 26.7%
  • Simfoniya - 25.5%
  • Laravel - 22.9%
  • növbətiJS - 14.2%
  • chakra-ui - 13.5%

Mənbə: opennet.ru

Добавить комментарий