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_VAR
IF bTest THEN
    RETURN;                      // => SA0090
END_IF
 
F_TestFunction := 99;