So wie andere auch. Nur das eine hat einen klaren Bezug zu der Schleife in der es sich befindet, das andere erlaubt dir, je nach Sprache, das wilde herumspringen im ganzen Quellcode. Das ist zwar zum Glück in PHP nicht der Fall, allerdings erlaubt es auch weiterhin durchaus weitere, an sich nicht direkt zu findene, Sprünge im Quellcode.
Ehrlich gesagt, auch nach etlichen Jahren in denen ich nun schon Software entwickle, habe ich nie auch nur Ansatzweise ein Goto gebraucht, oder mir gewünscht.
"Manche betrachten es als guten Programmierstil, wenn eine Funktion/Methode nur einen einzigen return-Aufruf beinhaltet."
Ja, allerdings haben sie damit nicht unbedingt recht (imho). Allerdings stimme ich zu das man returns in schleifen und co. vermeiden sollte. Für mich gibt es zwei sinnvolle Punkte für ein Return: Am anfang einer Funktion, und am Ende. Ganz furchtbar finde ich ifs welche die erste Zeile ausmachen, und dann bis fast zum ende gehen, nur damit es nur ein return gibt. Das wiederum ist ein negativbeispiel wo sich nur-ein-return und goto-verzicht negativ verbinden. Allerdings kann man das mit einer Prüfung und verlassen der Funktion am Anfang steuern. Prüfungen innerhalb einer Funktion kann man allerdings auch gut ohne Goto bis zum Ende durchreichen. Wird der Quellcode dadurch zu groß war er von anfang an schlecht geplant, und sollt ein kleinere Einheiten zerteilt werden.
So wie andere auch. Nur das eine hat einen klaren Bezug zu der Schleife in der es sich befindet, das andere erlaubt dir, je nach Sprache, das wilde herumspringen im ganzen Quellcode. Das ist zwar zum Glück in PHP nicht der Fall, allerdings erlaubt es auch weiterhin durchaus weitere, an sich nicht direkt zu findene, Sprünge im Quellcode.
Ehrlich gesagt, auch nach etlichen Jahren in denen ich nun schon Software entwickle, habe ich nie auch nur Ansatzweise ein Goto gebraucht, oder mir gewünscht.
"Manche betrachten es als guten Programmierstil, wenn eine Funktion/Methode nur einen einzigen return-Aufruf beinhaltet."
Ja, allerdings haben sie damit nicht unbedingt recht (imho). Allerdings stimme ich zu das man returns in schleifen und co. vermeiden sollte. Für mich gibt es zwei sinnvolle Punkte für ein Return: Am anfang einer Funktion, und am Ende. Ganz furchtbar finde ich ifs welche die erste Zeile ausmachen, und dann bis fast zum ende gehen, nur damit es nur ein return gibt. Das wiederum ist ein negativbeispiel wo sich nur-ein-return und goto-verzicht negativ verbinden. Allerdings kann man das mit einer Prüfung und verlassen der Funktion am Anfang steuern. Prüfungen innerhalb einer Funktion kann man allerdings auch gut ohne Goto bis zum Ende durchreichen. Wird der Quellcode dadurch zu groß war er von anfang an schlecht geplant, und sollt ein kleinere Einheiten zerteilt werden.