AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Break / Exit - Grundsatzfrage

Ein Thema von burn · begonnen am 19. Dez 2008 · letzter Beitrag vom 19. Dez 2008
Antwort Antwort
Seite 2 von 3     12 3   
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#11

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:35
Und das war doch sehr amüsant...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.753 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:37
Zitat von DeddyH:
Sherlock, bei einer leeren Liste bekommst Du mit einer Fußschleife aber Kummer.
Stimmt auffallend.

Muss man halt noch ne Prüfung reinsetzen, aber es ging ja um den Grundgedanken, ohne Exit auskommen zu können (hat mich das jetzt gerettet? 8) )

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:39
Zitat von Sherlock:
hat mich das jetzt gerettet?
Nur, weil Weihnachten für der Tür steht
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
burn

Registriert seit: 9. Apr 2003
80 Beiträge
 
Delphi 5 Professional
 
#14

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:42
Ok, Ok .. überredet !!! ..

Es geht auch mit "gutem" Stil (while Schleife) ...

Bevor ich jetzt wieder einen Thread ala "Negative Zahl errechnen" zu
verantworten habe, sag ich Danke für den Tip.

Aber was ist daran so verwerflich Exit und Break zu benutzen.
Für was gibt es die, wenn man diese nicht benutzen soll.

Ich z.B. Finde so was besser

Delphi-Quellcode:
  if Liste.Count = 0 then
    Exit
  
  weitere 40 Zeilen Code
als

Delphi-Quellcode:
  if Liste.Count > 0 then
  begin
    .
    .
    .
    weitere 40 Zeilen
    .
    .
    .
  end;

mfg Burn
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#15

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:44
Ich bin jetzt kein Verfechter von Exit oder Break, allerdings verwende ich es auch bedenkenlos, wenn ich es für angebracht halte, deshalb:

Inwiefern ist Exit/Break schlechter Programmierstil?

Welche Nachteile erwachsen mir dadurch?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#16

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:45
For- und While-"Schleifchen" sind intern eigentlich gleich.
Bei den Repeat-Until-"Schleifchen" wird nur der Ausdruck zuletzt ausgewertet

Delphi-Quellcode:
for i := i2 to i3 do begin

  if xyz then break;

end;

// entspricht (bzw)

i := i2;
while i <= i3 do begin

  if xyz then break;

  inc(i);
end;

// nja, eigentlich mehr diesem, wenn man bedenkt,
// daß Delphi i3 nur zu Begin der Schleife auswertet und das ergebnis zwischenspeichert

i := i2;
e := i3;
while i <= e do begin

  if xyz then break;

  inc(i);
end;

// und Delphi macht intern aus der For-, bzw der 2. While-Schleife dieses

i := i2;
e := i3;
Loop:
if i > e then goto LoopExit;

  if xyz then goto LoopExit;

  inc(i);
goto Loop;
LoopExit:

// PS: das ganze mit Repeat-Until, statt While, sieht etwa so aus

i := i2;
e := i3;
Loop:

  if xyz then goto LoopExit;

  inc(i);
if i <= e then goto Loop;
LoopExit:

// alles ohne CodeOptimierung
so und jetzt sage mal einer GOTO / Exit / Break seien so schlecht, wenn intern eh alles auf GOTO+IF aufbaut


Am Ende hat alles seine Vor- und Nachteile.

Und ich versuch das zu verwenden, welches in der entsprechenden Situation am Übersichtlichsten/Einfachsten ist.

[add] *rote kästen ignorier*


[add]
Nur hier sollten endlich mal alle den Unterschied zwischen EXIT und Break/Continue begreifen

Exit - beendet die Prozedur/Funktion
Break - beendet die Schleife
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:47
Also solange du weißt was du tust, kannst du Break und Exit wohl verwenden (es compiliert und läuft ja ordentlich )
Aber so eine Zeile mit "if .. then Exit" könnte ggf. bei langen Code schon mal übersehen werden, besonders wenn es irgendwo mitten im Code ist...

Ansonsten verweise ich gerne auf einen 5 Jahren alten Thread von mir zum selben Thema:
Break schlechter Programmierstil?

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#18

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:50
Man kanns ja auch mit Goto lösen wen man Break oder Exit nicht mag.

Nö.



// Edit: Och manno, himitsu hats ja schon geschrieben...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:52
Jeder Code der

1. gut wartbar ist
2. keine performanceeinbußen eingeht
3. die Funktionalität nicht einschränkt

ist der RICHTIGE Code.

Ob du Exit, Break oder sogar Goto benutzt ist irrelevant.PUNKT.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Break / Exit - Grundsatzfrage

  Alt 19. Dez 2008, 11:52
Zitat von burn:
Oft genug habe ich jetzt schon in der DP gelesen, daß
die Benutzung von Break und Exit schlechter Programmier-Stil ist.
Wenn sie nicht jeweils ihre Daseinsberechtigung hätten, dann gäbe es nur eines oder gar keines dieser Sprachkonstrukte.

Man könnte eher Fragen warum der Parameter nicht "const" ist und warum Exit anstatt Break (hier ausreichend) verwendet wird. Es gibt nicht die richtige Lösung, sondern nur bessere und schlechtere Lösungen. Was "besser" ist, hängt von den Anforderungen, den Umständen und eigenen Entscheidungen ab.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz