Antwort auf Klasse (RFC)
Titel Kurzform | RFC |
Kategorien | Wartbarkeit, Wiederverwendbarkeit |
Definition | Anzahl unterschiedlicher POUs, Methoden oder Aktionen, die von einer POU aufgerufen werden können |
Weitere Informationen | RFC = Response For Class Der Wert dient der Messung der Komplexität (im Hinblick auf Testbarkeit und Wartbarkeit). Dabei werden alle möglichen direkten und indirekten über Assoziationen erreichbaren Methodenaufrufe gewertet. Diese können verwendet werden, um auf eine eingegangene Nachricht zu antworten oder auf ein eingetretenes Ereignis zu reagieren. |
Beispiel:
Funktionsbaustein FB1:
FUNCTION_BLOCK FB1
VAR
d,x,y : INT;
END_VARx := METH(d+10);
y := FUN(42, 0.815);Methode FB1.METH:
METHOD METH : INT
VAR_INPUT
i : INT;
END_VARMETH := FUN(CUBE(i), 3.1415);Funktion Cube:
FUNCTION CUBE : INT
VAR_INPUT
i : INT;
END_VARCUBE := i*i*i;Funktion FUN:
FUNCTION FUN : INT
VAR_INPUT
a : INT;
f : LREAL;
END_VARFUN := LREAL_TO_INT(f*10)*a;FUN,CUBE: Diese Funktionen haben einen RFC von 0, denn keine der beiden Funktionen rufen andere Funktionen, Funktionsbausteine oder Methoden für ihre Berechnungen auf.FB1.METH:Die Methode verwendetFUNundCUBE, was einen RFC von 2 ergibt.FB1:- Der Funktionsbaustein
FB1ruftMETHundFUNauf, was seinen RFC um 2 erhöht. - Bei
FB1muss auch seine MethodeMETHberücksichtigt werden.METHverwendetFUNundCUBE.FUNist bereits zum RFC vonFB1hinzugefügt (siehe vorheriger Stichpunkt). Somit erhöht nur die Verwendung vonCUBEinMETHden RFC fürFB1auf 3.