Encore un IF inutile !

Partagez ...

Niveau
Débutant

Economisez vous !

Je vois encore trop souvent ce genre de code, qui sert à monter des bits de statut en fonction d’un paramètre. Avouez-le ! On a tous fait ça 🙂 

IF page = 1 THEN
 page_prod := TRUE;
 page_reglage := FALSE;
 page_modemanu := FALSE;
 page_modeauto := FALSE;
END_IF;
IF page = 22 THEN
 page_prod := FALSE;
 page_reglage := TRUE;
 page_modemanu := FALSE;
 page_modeauto := FALSE;
END_IF;
IF page = 13 THEN
 page_prod := FALSE;
 page_reglage := FALSE;
 page_modemanu := TRUE;
 page_modeauto := FALSE;
END_IF;
IF page = 59 THEN
 page_prod := FALSE;
 page_reglage := FALSE;
 page_modemanu := FALSE;
 page_modeauto := TRUE;
END_IF;

Que se passe-t-il avec ce genre de code ? 

Déjà … c’est long ! Et puis, si demain vous rajoutez un 5eme bit de status, il vous faut rajouter un 5eme IF … et surtout ne pas oublier de rajouter ce bit là dans chacun des IF précédents. Bref : une tannée !

LA solution en 4 lignes !

page_prod := (page = 1);
page_reglage := (page = 22);
page_modemanu := (page = 13);
page_modeauto := (page = 59);

Conclusion

Cette astuce, pourtant banale, doit être une habitude de programmation à prendre. Elle est plus rapide, flexible et plus simple à débugguer !


Partagez ...

Laisser un commentaire