else-if al posto di if credo si usi solo per bellezza :bubu:
Per questo l'ho usato anche io!! :sexpulp:
![]()
else-if al posto di if credo si usi solo per bellezza :bubu:
Per questo l'ho usato anche io!! :sexpulp:
![]()
Un piccolo trucco per rendere ancora più leggibile e manutenibile il codice: METTETE UNO ED UN SOLO RETURN! La funzione ritorna UNO ED UN SOLO VALORE, quindi in via strettamente logica ci dovrebbe essere UN SOLO RETURN. Basta dichiarare una variabile in più all'inizio, assegnare ad ogni fine ramo il valore da ritornare e mettere UN SOLO RETURN alla fine.
Cosa ancora più utile: quando avete a che fare con return di tipo booleano è INUTILE dichiarare return true o return false. Basta dichiarare il return dell'espressione che si sta controllando, o al più la sua negata.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Ciao Lele!
non ho capito bene la seconda parte di quello che hai detto...nel mio caso decido io di ritornare con false se ho fatto l'inserimento e true se ha avuto esito negativo...altro non credo si poteva fare..
Secondo me è invece molto utile poter mettere piu return nel corpo di un metodo proprio per il morivo che dicevo prima; talvolta seguire le ramificazioni if-else diventa un'impresa,Originariamente inviato da LeleFT
Un piccolo trucco per rendere ancora più leggibile e manutenibile il codice: METTETE UNO ED UN SOLO RETURN! La funzione ritorna UNO ED UN SOLO VALORE, quindi in via strettamente logica ci dovrebbe essere UN SOLO RETURN. Basta dichiarare una variabile in più all'inizio, assegnare ad ogni fine ramo il valore da ritornare e mettere UN SOLO RETURN alla fine.
Cosa ancora più utile: quando avete a che fare con return di tipo booleano è INUTILE dichiarare return true o return false. Basta dichiarare il return dell'espressione che si sta controllando, o al più la sua negata.
Ciao.![]()
![]()
Sicuramente è comodo... ma sicuramente diventa poco manutenibile il codice dopo: qual'è il valore di ritorno in un dato stato del metodo? Diventa difficile seguire tutti i rami. Mentre si sa sempre, con un solo return, dove va a ritornare la funzione!
E all'interno dei rami, basta solamente controllare la semantica della funzione.
Ah... i cari vecchi insegnamenti delle scuole superiori.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Si sa l'istruizione con cui ritorna la funzione, ma la difficolta di capire quale valore è stata assegnato alla variabile di ritorno resta la stessa, anzi a mio avviso aumentata dal seguire la ramificazione degli else, per me i return nono sono una comodità per scrivere piu in fretta il codice, ma rendono (almeno per me)piu leggibile il metodo, è come se ci fosse uno switch con tanti rami tutti indipendenti,Originariamente inviato da LeleFT
Sicuramente è comodo... ma sicuramente diventa poco manutenibile il codice dopo: qual'è il valore di ritorno in un dato stato del metodo? Diventa difficile seguire tutti i rami. Mentre si sa sempre, con un solo return, dove va a ritornare la funzione!
E all'interno dei rami, basta solamente controllare la semantica della funzione.
Ciao.![]()
![]()
Per quanto riguarda la filosofia del codice apparte i return la ritenete buona? Si poteva fare in altri modi, mi sono fossilizzato però nell'avere 2 condizioni di massima
![]()
Se ho capito quello che deve fare il metodo, io avrei fatto cosi:
e avrei cambiato tutti i nomi in inglese: i nomi in italiano li trovo orribili :adhone:Codice PHP:public boolean assegnamento(String nomeVariabile, String valoreVariabile){
//Si controlla se bisogna modificare un valore esistente
for(int i = 0; i < righeRiempite; i++){
if(array[i][0].equals(nomeVariabile)){
array[i][1] = valoreVariabile;
return false;
}
}
//Si inserisce un nuovo valore se c'è spazio
if(righeRiempite < RIGHE){
array[righeRiempite][0] = nomeVariabile;
array[righeRiempite][1] = valoreVariabile;
righeRiempite++;
return false;
}//se no si ritorna
else
return true;
}
![]()
Bello..si è più bello del mio!![]()
Fai attenzione ad usare equals() per confrontare le stringhe, e non ==,
![]()