SA0090: POUs sollen eine einzige Exit-Stelle haben
Funktion | Erkennt Codestellen, an denen die RETURN-Anweisung nicht die letzte Anweisung in einer Funktion, Methode, Eigenschaft oder einem Programm ist. Es werden auch Stellen erkannt, an denen ein RETURN innerhalb einer IF-Verzweigung steht. |
Begründung | Ein RETURN im Code führt zu schlechterer Wartbarkeit, Testbarkeit und Lesbarkeit des Codes. Ein RETURN im Code wird leicht übersehen. Sie müssen Code, der auf alle Fälle beim Austritt einer Funktion ausgeführt werden sollte, vor jedem RETURN einfügen und das wird oft vergessen. |
Wichtigkeit | Mittel |
PLCopen-Regel | CP14 |
Beispiel:
FUNCTION F_TestFunction : DINT
VAR_INPUT
bTest : BOOL;
END_VARIF bTest THEN
RETURN; // => SA0090
END_IF
F_TestFunction := 99;