TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
L'uso di break; è MOLTO, MOLTO MALE! E porta a spaghetti code. Inoltre è BRUTTISSIMO da leggere! Evitate!
|
|
AldoBaldo (Member)
Guru
Messaggi: 699
Iscritto: 08/01/2015
|
Mah... secondo me dipende da dove e come lo usi. E' un po' la stessa storia del goto. Se hai delle piccole funzioni dove è immediatamente chiaro cosa fa il break non ci vedo niente di male, nell'usarlo. Certo è che invece se lo "immergi" in costrutti megalitici dove porta a perdere il senso del flusso hai ragione.
ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti. |
|
marco (Member)
Newbie
Messaggi: 6
Iscritto: 19/02/2015
|
Postato originariamente da TheDarkJuster:
L'uso di break; è MOLTO, MOLTO MALE! E porta a spaghetti code. Inoltre è BRUTTISSIMO da leggere! Evitate! |
'E porta a spaghetti code.'? Cosa dovrebbe significare?
Il break è necessario, e a volte nemmeno sufficiente, per uscire da cicli. Certo, quando si può è meglio mantenere il codice semplice, ma un break non ha mai fatto male a nessuno, non stai mica riempiendo il source di goto.
Non capisco nemmeno perché dovrebbe essere 'BRUTTISSIMO', ma dato che spari giudizi senza nemmeno giustificarli.
Chiedo scusa per l'OT. |
|
TheDarkJuster (Member)
Guru^2
Messaggi: 1620
Iscritto: 27/09/2013
|
Puoi fare tutto senza usare break ed è già stato dimostrato. Il break è bruttissimo perché non sai perché sei uscito dal ciclo, potresti non avere nemmeno modo di scoprirlo.
|
|
marco (Member)
Newbie
Messaggi: 6
Iscritto: 19/02/2015
|
Postato originariamente da TheDarkJuster:
Puoi fare tutto senza usare break ed è già stato dimostrato. Il break è bruttissimo perché non sai perché sei uscito dal ciclo, potresti non avere nemmeno modo di scoprirlo. |
Ora rido. Perché non puoi dire che il break è 'BRUTTISSIMO' quando per non usarlo dovresti riempire di flag, if e blocchi il codice. Quello sì che farebbe schifo. |
|
Roby94 (Member)
Guru
Messaggi: 1170
Iscritto: 28/12/2009
|
è assolutamente sbagliato, break è un elemento estremamente comodo in un ciclo while, e non porta assolutamente ad un antipattern come lo spaghetti code. La giustificazione a questa affermazione è semplice, l'uso di break non permette "jump back" nella struttura del programma come invece permette il goto, ma semplicemente di uscire dal ultimo ciclo nello stack dei comandi. Quindi no, il break non è il male. Se non vuoi usarlo, non ci sono problemi, con dei semplici stratagemmi si può rimpiazzare con delle strutture di controllo, ma cosi facendo la complessità del programma può solo aumentare sia a livello di codice che di struttura per il calcolatore.
|
|
ZioCrocifisso (Member)
Pro
Messaggi: 135
Iscritto: 06/03/2013
|
Postato originariamente da TheDarkJuster:
L'uso di break; è MOLTO, MOLTO MALE! E porta a spaghetti code. Inoltre è BRUTTISSIMO da leggere! Evitate! |
Si chiama "spaghetti code" perché il codice si "ingarbuglia" come gli spaghetti, cosa che non succede col break, visto che si va sempre alla fine del blocco, e anche con più break avviene tutto in modo ordinato, senza salti in avanti e indietro. Al massimo può essere considerata spaghetti la combinazione di molti break e continue, ma anche in quel caso pur essendo i due statement dei jump, hanno un significato più astratto (uscire dal ciclo e continuare il ciclo) che non rende difficile capire il codice come i goto. |
|
ZioCrocifisso (Member)
Pro
Messaggi: 135
Iscritto: 06/03/2013
|
Puoi fare tutto senza usare break ed è già stato dimostrato. |
Certo. Puoi fare tutto anche senza funzioni, oggetti, classi, macro, moduli, ecc.
Ma allora perché non facciamo e usiamo tutti un linguaggio che implementa le 3 sole strutture di controllo e nient'altro? (domanda retorica) |
|