AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Break/Exit verwenden?

Ein Thema von Pseudemys Nelsoni · begonnen am 11. Mai 2005 · letzter Beitrag vom 11. Mai 2005
Antwort Antwort
Seite 2 von 2     12   
Narayana
(Gast)

n/a Beiträge
 
#11

Re: Break/Exit verwenden?

  Alt 11. Mai 2005, 08:34
Zitat:
Pseudemys Nelsoni:

Ausserdem finde ich For-Schleifen elaganter das ich da nicht selbst Inc(I) machn muss =)
Ich finde for Schleifen auch schöner, aber ich habe nunmal gelernt, dass break und exit nicht gut sind/ nicht benutzt werden sollten. Deshalb wähle ich dann solche methoden, weil ich das immernoch besser finde, als eine for schleife bis zu ende laufen zu lassen.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Break/Exit verwenden?

  Alt 11. Mai 2005, 09:18
Zitat von Pseudemys Nelsoni:
Zitat:
Break und Exit sind makellose Sprachmittel, warum glaubst du sie vermeiden zu müssen?
Ich meine hier irgendwie im Forum gelesen zu haben, das es ein schlecher Programmier-Stil sei und Break bzw Exit kostümierte GOTOs sind.
Wer als Programmierer bedenkenlos auf die Aussagen und den Code anderer vertraut, der kommt in die Hölle. Das hier ist ein Forum! Jeder, aber auch wirklich jeder, darf hier seinen Beitrag leisten, ohne Nachweis einer Qualifikation. Stellenweise werden unqualifizierte Hilfestellungen ja auch durch den Fragesteller direkt provoziert. Welcher Hilferuf hier ist denn schon so formuliert, dass nicht ein Dutzend Rückfragen nötig sind? Viele Threads führen doch nur durch ein Übermaß an Intuition zu einem glücklichen Ende.

Die Mehrzahl der Teilnehmer an diesem Forum - meine Einschätzung aufgrund der Beiträge der letzten 3 Wochen - sind keine Programmierer, sondern eher daran interessiert sich dahin zu entwickeln. Das Lerntempo hängt allerdings nicht allein vom Lernwillen ab, sondern auch von der Fähigkeit, die hier geposteten Beiträge hinterfragen zu können. Das eigentliche Lernen findet idealerweise außerhalb des Forums statt, da ein Forum ein zu wenig formales und zielgerichtetes Medium darstellt.

Zurück zu Break und Exit.

Die beiden Anweisungen haben eine glasklare Semantik. Bevor ich in einem Code Review die Verwendung von Break oder Exit moniere, stelle ich in der Regel fest, dass der Programmierer eigentlich ein Codierer war, der gar keinen sauberen Entwurf zustande gebracht hat und einfach drauf los gehackt hat. Das ist die Zeitbombe, die in fast jedem Programm tickt. In einem sauberen Entwurf fallen die beiden Anweisungen zur Terminierung gewiss nicht unangenehm auf.

Nachdenkliche Grüße vom marabu
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Break/Exit verwenden?

  Alt 11. Mai 2005, 09:37
Ob ich break oder exit nehme, kommt immer drauf an. Meistens sucht man ja was in einer Schleife. Da ich es vorziehe, immer nur eine Aufgabe in einer Routine laufen zu lassen, käme die Suche in eine eigene Funktion:
Delphi-Quellcode:
Function Suche (Was : TDing) : TResult;
Begin
  For Result := 0 To Anzahl do
    If Dinge[Result] = Was then
      exit;
  Result := -1
End;
Vorteil, ich kann auch elegant temorär Speicher alloziieren und über Try..Finally freigeben
Delphi-Quellcode:
Function Suche (Was : TDing) : TResult;
Begin
  S := TStringlist.Create;
  Try
    For Result := 0 To Anzahl do
      If Dinge[Result] = Was then
        exit;
    Result := -1
  Finally
    S.Free // Wird auch bei exit aufgerufen
    End;
End;
break dagegen beendet die Schleife einfach. Das macht eigentlich nur Sinn, wenn ich gegen meine Doktrin, 'pro Aufgabe eine Funktion' verstosse, was natürlich vorkommt, weil z.B. zwei kurze Schleifen hintereinander, deren Sinn sonnenklar, natürlich nicht in zwei lokale Pupselprozeduren geschmissen werden. Irgendwann is ja auch man gut mit Refactoring.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#14

Re: Break/Exit verwenden?

  Alt 11. Mai 2005, 09:54
Ich finde break und exit auch in den meisten Fällen absolut sinnvoll.
Ein Exit ähnelt dem return aus anderen Sprachen und es passiert ja auch genau das, die Funktion wird verlassen und der Wert zurückgegeben.

Mit break kann ich eine Schleife beenden ohne mich ich Abruchsbedingungen in der while clause zu verhaspeln.
Solange etwas meinen Code intuitiver und lesbarer macht wäre ich doch schön doof würde ich es nicht nehmen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:09 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