Vor ein paar Tagen begann ich ein schnelles Open-Source-Projekt, und als einige Freunde den Code auf svn sah, einer von ihnen sagte mir, dass die Verwendung break
-Anweisung in einer for
Schleife gilt als schädlich und sollte nicht getan werden.Brechen einer "for" -Schleife mit "break" als schädlich?
Er fügte hinzu, dass ich mehrere Fälle von break
Anweisungen innerhalb for
Schleifen auf Linux-Kernel-Quellcode finden würde, aber das war nur, weil nur Linus Torvalds und Chuck Norris dürfen es und niemand sonst verwenden.
Was denkst du? Ich sehe kein Problem bei der Verwendung von break
innerhalb einer for
Schleife. Meiner Meinung nach emuliert das Emulieren des Verhaltens von break
mit booleschen Variablen oder ähnlichem viel unnötigen Overhead und macht den Code weniger einfach.
Auch gibt es keinen Raum für einen Vergleich mit goto
, weil break
nicht willkürlich kann goto
tut Programm Fluss von einem Punkt zum anderen liegen ändern.
Doppelte Frage: http://stackoverflow.com/questions/216359/break-statements-in-the-real-world Und ein anderes, geschlossen als Duplikat: http://stackoverflow.com/questions/616339/ i-break-evil –
Ich denke, 'continue' wird als" schädlich "angesehen, obwohl in der gleichen Liga wie" goto "(beide können nützlich sein, aber beide können den Code verdecken). 'Pause' sieht für mich persönlich gut aus. –
Ich benutze 'break' sehr oft und' continue' auch oft. Ich denke, dass - und das gleiche gilt für multiple existiert, Delphi 'while' Aussagen usw. - dass in den meisten Fällen, wenn jemand sagt" benutze das X Konstrukt nicht ", dann ist er/sie ist nicht sehr daran gewöhnt, komplexe Algorithmen zu schreiben und/oder dass er/sie in der jeweiligen Sprache nicht sehr erfahren ist. Denn wenn man in der Sprache sehr erfahren ist, weiß man, wie man dieses Konstrukt benutzt, und wenn man oft komplexe Algorithmen schreibt, wird man all diese Konstrukte lieben. –