Alcuni giorni fa ho avviato un rapido progetto open source e, quando alcuni compagni hanno guardato il codice su svn, uno di loro mi ha detto che usare l'istruzione break
all'interno di un ciclo for
è considerato dannoso e non dovrebbe essere fatto.La rottura di un ciclo "for" usando "break" è considerata dannosa?
ha aggiunto, però, che avrei trovato diversi casi di break
istruzioni all'interno for
loop sul codice sorgente del kernel di Linux, ma che era solo perché solo Linus Torvalds e Chuck Norris sono stati autorizzati a usarlo e nessun altro.
Cosa ne pensi? Non vedo alcun problema nell'uso di break
all'interno di un ciclo for
. A mio parere, l'emulazione del comportamento di break
utilizzando variabili booleane o qualcosa di simile aggiunge un notevole overhead e rende il codice meno semplice.
Inoltre, non c'è spazio per il confronto con goto
, perché break
non può modificare arbitrariamente il flusso del programma da un punto all'altro. Lo fa goto
.
Domanda duplicata: http://stackoverflow.com/questions/216359/break-statements-in-the-real-world E un altro, chiuso come duplicato: http://stackoverflow.com/questions/616339/ is-break-evil –
Penso che 'continue' sia considerato" dannoso ", nello stesso campionato di" goto "(entrambi possono essere utili, ma entrambi possono oscurare il codice). 'break' mi sta bene, personalmente. –
Uso 'break' molto spesso, e' continue' abbastanza spesso pure. Penso che - e le stesse cose si applichino a molteplici esistenze, dichiarazioni di Delphi 'while', ecc. Ecc. - che nella maggior parte dei casi quando qualcuno dice" non usare il costrutto X ", allora lui/lei è non molto abituato a scrivere algoritmi complessi e/o che non ha molta esperienza nella lingua a portata di mano. Perché, se uno ha molta esperienza con la lingua a portata di mano, allora si sa come usare questo costrutto, e se uno spesso scrive algoritmi complessi, allora si ameranno tutti questi costrutti. –