Bonyolultsági mértékek erlang programokhoz Király Roland A kutatás a TÁMOP 4.2.4.A/2-11-1-2012-0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése országos program című kiemelt projekt keretében zajlik. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg.
Értékes sorok száma Az effective_lines_of_code a kódrészlet, konkrétabban a függvény, vagy modul azon sorainak számát adja, amelyek forrásszöveget tartalmaznak.
Átlagos sorhossz Az average_length_of_line mérték az adott függvényben, vagy modulban található sorok hosszának az átlagát adja vissza. Az eredmény kiszámításához a ELOC mértéket kell alapul vennünk, és a definícióban leírtak szerint ki kell számítanunk a sorok hosszát, majd a kapott eredményt átlagolnunk kell:
Függvények száma A number_of_functions mérték a modulokban definiált függvények számát adja vissza. Ez a mérték különösen releváns funkcionális programok jellemzése során, mivel azok nagy számban tartalmaznak függvény konstrukciókat, így a lines_of_code mellett, annak használatával következtethetünk a modulok méretére.
Makrók száma A number_of_macros mérték az adott modulban, vagy modulokban definiált makrók, pontosabban makró definíciók számát adja meg.
Rekordok száma A number_of_records mérték az adott modulban definiált rekordok számát adja vissza. A rekordok használatának lehetősége sok esetben olvashatóbbá, de mindenképpen alakíthatóbbá teszi a forrásszöveget azáltal, hogy a rekordokat használhatjuk a függvény paraméterek dinamikusabbá tételére.
Fejléc fájlok száma A number_of_headers mérték a modulban szereplő fejléc fájlok számát adja vissza. A több modul függvényei által közösen használt adatokat, rekordokat, makrókat, vagy szélsőséges esetekben függvényeket fejléc fájlokba rendezik, majd ezeket a fájlokat az include(filepath) formában elérhetővé teszik modulok számára.
Kohézió A cohesion nevű mérték a modulok közötti összes függvény útvonal számát adja eredményül, de a belső függvény kapcsolatok számát nem méri. (A hívási láncok definíciója: lásd a szöveges tananyagban)
Hívási mélység hossza Függvény hívási mélység maximuma. A max_depth_of_calling mérték a függvények hívási útvonalainak a hossza.
Case kifejezések maximális beágyazottsága A max_depth_of_cases a függvényben, vagy a modul függvényeiben szereplő case vezérlő szerkezetek beágyazottságának maximuma.
McCabe szám McCabe féle ciklomatikus szám. A mc_cabe bonyolultság mérték értéke a Thomas McCabe által konstruált vezérlési gráfban definiált alapvető útvonalak számával azonos, vagyis azzal, hogy hányféle kimenete lehet egy függvénynek nem számítva a benne alkalmazott további függvények bejárási útvonalainak a számát. A Mc Cabe ciklomatikus számot eredetileg a procedurális nyelvek alprogramjainak a mérésére fejlesztette ki Thomas J. Mc Cabe.
McCabe szám
Függvény bonyolultsági értéke Függvény összesített értéke. A function_sum mérték a függvényre, vagy függvényekre jellemző komplexitási mértékekből számított érték. Az eredmény kiszámításához szükséges mértékek felsorolással megadhatóak.
Példaprogram lekérdezéshez
Lekérdez