VL8 Codequalität Notiz

Statische Produktmetriken

  • Traditionellen Metriken
  1. Programmgröße, Komplexität
    Zeilenmetriken(LOC): Anzahl der Zeilen im Programm
    Non-Commenting Lines Of Code(NCLOC): ignoriere Leerzeilen und reine Kommentarzeilen
    Halstead-Metriken
    Operatoren: feste Sprachelemente, z.B. if, (), int, public, , , ++, ; , return …
    Operanden: alles andere, u.A. Variablen, Werte, Bezeichner … z.B max i 0 1
    Definition Werte
    Unterschiedliche Operatoren n1
    Unterschiedliche Operanden n2
    Operatoren im Programm N1
    Operanden im Programm N2
    Größe des Vokabulars n = n1+n2
    Länge des Programms N = N1+N2
    Definition Metriken
    Volumen des Programms V = N * log2(n)
    Schwierigkeit(difficulty) D = (n1/2) * (N2/n2)
    Aufwand, um Programm zu verstehen E = D * V
  2. Programmstruktur
    McCabe Cyclomatic Number
    Zyklomatische Komplexität
    e Anzahl Kanten im Graphen
    n Anzahl Knoten im Graphen
    p Anzahl Komponenten
    v(G) = e - n + 2 * p
  • Objektorientierte Metriken (zusammenhängende Graphen)

Kontrollflussgraph(CFG)

在这里插入图片描述

  • Basisblöcke
    Sequenz von instruktionen
    S 1 ; z : = y ; y : = x ; x : = z ; S 2 S_1;z:=y;y:=x;x:=z;S_2 S1;z:=y;y:=x;x:=z;S2
  • Verzweigung
    S 1 ; i f B t h e n S T e l s e S E f i ; S 2 S_1; if B then S_T else S_E fi; S_2 S1;ifBthenSTelseSEfi;S2
  • Schleifem
    rückwärtige Kanten
    S 1 ; w h i l e B d o S L o d ; S 2 S_1;while B do S_L od;S_2 S1;whileBdoSLod;S2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值