Skip to main content

SA0041: Possibile codice invariante di loop

Rileva le assegnazioni nei loop che calcolano lo stesso valore per ogni ciclo del loop. Tali righe di codice potrebbero essere inserite all'esterno del ciclo.

Motivazione: Si tratta di un avviso di prestazione. Il codice che viene eseguito in un ciclo, ma che fa la stessa cosa in ogni ciclo del ciclo, può essere eseguito all'esterno del ciclo.

Importanza: Media

Esempio 50. Esempio
PROGRAM PLC_PRG
VAR
    iCounter, iVar1, iVar2 : INT;
END_VAR
FOR iCounter := 0 TO 10 DO
    iVar1 := 100;    // SA0041
    iVar2 := iVar2 + iVar1;
END_FOR

Uscita in Messaggi vista:

  • sa_icon_message.png SAN0041: Possibile codice invariante del loop 'iVar1 := 100'