Poll

Frida-i Quick Poll: RPG IF-ELSEIF o SELECT-WHEN? (IT)

E’ un argomento che compare sui gruppi di discussione IBM i (Midrange.com, Code400.com ecc) e tutte le volte è una “battaglia” tra chi preferisce IF-ELSEIF e chi invece predilige SELECT-WHEN … ognuno con i suoi motivi validi.

Iniziamo con il dire che IF-ELSEIF e SELECT-WHEN sono la stessa identica cosa da un punto del flusso di programma e delle prestazioni del codice stesso, quindi questi codici nei box che seguono arrivano allo stesso risultato:

if YourAge<30;
dsply 'Oh, you are very young!' '' inp;
elseif YourAge<40;
dsply 'You are young!' '' inp;
elseif YourAge<50;
dsply 'OK you are still young!' '' inp;
elseif YourAge<60;
dsply 'Oh, you were young once!' '' inp;
else;
dsply 'Oh yeah, it''s RPG!…' '' var;
ENDIF;
select;
when YourAge<30;
dsply 'Oh, you are very young!' '' inp;
when YourAge<40;
dsply 'You are young!' '' inp;
when YourAge<50;
dsply 'OK you are still young!' '' inp;
when YourAge<60;
dsply 'Oh, you were young once!' '' inp;
other;
dsply 'Oh yeah, it''s RPG!…' '' var;
ENDsl;

Alla fine possiamo dire che il box di destra ha semplicemente una riga in più … quella con “select”! Ma da un punto di vista leggibilità e chiarezza del codice quale preferisci?

Io, personalmente, preferisco “SELECT – WHEN” … trovo il codice più leggibile… ma altri sviluppatori RPG preferiscono “IF-ELSEIF” … altri ancora utilizzano SELECT-WHEN quando la condizione si ripete sulla stessa variabile nei vari WHEN (come nel caso sopra) … e “IF-ELSEIF” quando la condizione cambia di volta in volta (esempio IF A=B … ELSEIF C=D AND E=F ….. ELSEIF G=X … ENDIF).

Riferimenti:

Eccoci quindi al sondaggio “Frida-i Quick Poll” 01: SELECT vs ELSEIF ? Da che parte stai?

	
--- Roberto De Pedrini Faq400.com
About author

Founder di Faq400 Srl, IBM Champion, ideatore del sito Faq400.com e del Blog blog.faq400.com. Sviluppatore RPG da quando avevo i pantaloni corti, forte sostenitore della piattaforma IBM i (ex AS400), ho sempre cercato di convididere le mie conoscenze con gli altri tramite forum, eventi e corsi. Oggi, tramite Faq400 Srl, cerchiamo di aiutare le aziende a sfruttare al meglio questa fantastica piattaforma IBM i.

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo: