![]() |
Re: Break / Exit - Grundsatzfrage
@himitsu
Nur damit kein Mißverständnis entsteht: Ich weiß was Break / Exit machen ... Mir geht lediglich darum warum ich die nicht verwenden soll ... mfg Burn |
Re: Break / Exit - Grundsatzfrage
Ich oute mich jetzt auch mal als schlechten Programmierer, da ich öfter solche Dinge hier verwende:
Delphi-Quellcode:
procedure TuWas;
begin if not unabdingbare_Ausgangsbedingung then exit; //hier dann der eigentliche Code end; |
Re: Break / Exit - Grundsatzfrage
Zitat:
|
Re: Break / Exit - Grundsatzfrage
@DeddyH
Genau so mach ich das auch immer und ich versteh nicht was daran schlecht sein soll. Ich finde den Code so einfach lesbarer (Meine Meinung) Burn |
Re: Break / Exit - Grundsatzfrage
das in #23 von DeddyH mach ich auch öfters
(schreibe oftmals mehrere Befehle in eine Zeile und da kann ich den gesparrten Platz bezüglich der Einrückung schon gut gebrauchen ... außerdem wird da eine Zeile, für's END gesparrt) @burn hatte erst alle, statt einige geschrieben ... also hab nicht unbedingt dich gemeint :angel: PS: wißt ihr wie schön man ein GOTO verwenden kann, wenn man mit BREAK nicht mehrere Schleifchen auf einmal verlassen kann? (ich vermisse sowas wie Break(3); für's Verlassen der letzen 3 Ebenen ) |
Re: Break / Exit - Grundsatzfrage
Ich denke mal, break und exit können dann in eine Falle führen, wenn sie in sehr weit verschachtelten Codes mittendrin verwendet und daher irgendwann übersehen werden können. Da ist dann eine anständige Schleifenbedingung "selbstredender". Aber wie ich schon im anderen Thread gesagt habe, man sollte diese Möglichkeiten nicht generell verteufeln, überlegt und mit Bedacht eingesetzt können Sie IMHO sinnvoll eingesetzt werden (siehe mein Beispielcode).
|
Re: Break / Exit - Grundsatzfrage
Ich finde eigentlich auch nichts schlimmes an break oder Exit :gruebel:
Ich meine ich finde sowas:
Code:
Viel schöner als das mit einem Riesenbatzen logischer Verknüpfungen im while-Kopf zu lösen.
forschleife
begin if (bed_1 || bed_2) break; if (bed_3) continue else if (weltuntergang) exit; // Code if (sonderfall) continue; // Code end; Spätestens ab 3 voneinander Abhängigen Bedingungen sieht der while-Kopf dann nur noch unübersichtlich aus. Evtl. kann man in manchen Fällen statt einem Exit eine Exception werfen (z.B. Leere Liste sortieren). Aber grundsätzlich finde ich diese Schlüsselwörter zur Schleifensteuerung sinnvoll und möchte sie nicht um jeden Preis in die while-Bedingung reinquetschen wollen ;) goto ist da deutlich unübersichtlicher als ein break an der richtigen Stelle. (Wir brauchen ein ComeFrom ^^) Man sollte imho allg. darauf achten, dass der Code verständlich ist und wann was getrtan wird. Wenn ich am Schleifenkopf 5 Variablen mit 7 Operatoren verknüpfe blicke ich da ne Woche später nicht mehr durch ... @himitsu ganz oben: Ob der Compiler aus meiner Schleife goto's macht, oder nicht ist mir egel, solange er sich nicht darin verheddert ^^ @himitsu nicht ganz oben: In seperate Funktionen auslagern? ==> Exit ^^ |
Re: Break / Exit - Grundsatzfrage
Zitat:
|
Re: Break / Exit - Grundsatzfrage
Zitat:
Delphi-Quellcode:
wobei es so nach Speicher-/Rechenleistung wohl besser wär,
while Bedingung name 'xyz' do begin
while Bedingung do begin Break('xyz'); end; end; dazu leider unverständlicher (schön benannter Name <> Zahl), abgesehn bei Verwendung von Konstanten
Delphi-Quellcode:
while Bedingung id 123 do begin
while Bedingung do begin BreakID(123); end; end; ein
Delphi-Quellcode:
würde sich in Delphi auch gut machen
with name1:irgendwas do
with name2:irgendwas do oder gar // with name1:irgendwas, name2:irgendwas do |
Re: Break / Exit - Grundsatzfrage
Also um das ganze nochmal auf den Punkt zu bringen:
Break/Exit sind DOCH kein schlechter Stil, wenn man diese sinnvoll einsetzt und der Code lesbar bleibt. Besten Dank für eure Meinungen und Tschüss mfg Burn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz