AGB  ·  Datenschutz  ·  Impressum  







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

Break schlechter Programmierstil?

Ein Thema von mirage228 · begonnen am 11. Dez 2003 · letzter Beitrag vom 12. Dez 2003
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von mirage228
mirage228

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

Break schlechter Programmierstil?

  Alt 11. Dez 2003, 13:35
Hallo,

in der heutigen Informatikstunde haben wollten wir einen spezifischen Wert aus einem Array suchen.
Unser Lehrer nutzte hierzu eine WHILE schleife. Ich schlug hierrauf vor, das mit einer FOR schleife und einem Break; nach dem Finden des Wertes (bzw. des indexes) die schleife zu verlassen. Er meinte daraufhin, dass man das so nicht machen könne(oder solle), da Break "extrem schlechter" Programmierstil sei.

Nun meine Frage: Ist da tatsächlich was dran? War die Benutzung von Break unter TurboPascal nun anders, sodass mein Lehrer das Break als schlechten Stil bezeichnet?

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Tyrael Y.

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

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 13:37
lol,

ich benutze Break nicht oft, aber ich benutze es und finde es nicht als
schlechten Programierstil

genauso exit, wobei ich exit wichtiger finde


Gruß
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#3

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 13:43
Es ist schon so, das es nicht gerade zu einem guten Programmierstil gehört. Manchmal ermöglicht es aber eine übersichtlichere Konstruktion.
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#4

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 13:51
Ich benutze break eigentlich regelmäßig in der Form, wie es Mirage beschrieben hat.
Ich hatte dabei nicht das Gefühl, dass diese Konstruktionen meinen Programmierstil runterziehen. Da gibts schlimmere Sachen, die mich ärgern, wenn ich später mal was modifiziere.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 13:52
ka wieso das schlecht sein sollte, würde doch nur zeit kosten wenn man es nicht benutzt und die schleife ganz durchlaufen lässt ohne das es noch nötig ist
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#6

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 13:56
Ob schlechter oder guter Stil liegt in so einem Fall auch immer daran, wofür man ein bestimmtes Konstrukt verwendet.

Würdest Du, wenn Du einen Countdown brauchst, eine normale Uhr nehmen und an der Stelle wo 0 sein soll einen Nagel ins Zifferblatt hauen um den Zeiger zu stoppen (break), oder gleich eine Sanduhr nehmen und nur so viel Sand einfüllen wie Du für den Countdown brauchst (while)?

Eine For-Schleife ist nunmal dann das richtige Werkzeug, wenn Du für jedes (for each, wie es auch ab und zu woanders heisst) Element in der Schleife etwas bestimmtes tun willst.

Man sucht aber nicht für jedes Element, sondern solange wie man es noch nicht gefunden hat. Deshalb ist bei einer sequentiellen Suche nunmal eine while - Schleife die richtige.

Von daher würde ich Deinem Lehrer da in jedem Fall zustimmen: For / break für eine Suche ist schlechter Stil.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#7

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 14:01
Ich finds einfach einfacher, wenn ich

Delphi-Quellcode:
  for i:=0 to Count - 1 do begin
    if gefunden then begin
      MachWasDraus;
      break;
    end;
  end;
schreibe als

Delphi-Quellcode:
  while NichtGefunden and (i < Count) do begin
    if Gefunden then begin
      NichtGefunden := false;
      MachWasDraus;
      i := i + 1;
    end;
  end;
zu schreiben. Wenns irgendeine plausible Erklärung gibt, while zu verwenden nehm ich halt while
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#8

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 14:07
Hrm..

Scheint, als hättest Du da was nicht ganz 100% optimiert
Also wenn man das richtig macht sieht das so aus:
Delphi-Quellcode:
while not gefunden do
   Suche;

Machwas;
Delphi-Quellcode:
for i := 0 to Count - 1 do
begin
   Suche;
   if gefunden then
      break;
end;

Machwas;
Und was ist nun besser?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#9

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 14:11
Zitat:
while not gefunden do
Suche;
ist das nicht ne endlosschleife? oder wird "gefunden" irgendwann auf true gesetzt?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Break schlechter Programmierstil?

  Alt 11. Dez 2003, 14:13
Phoenix, wenn das element nicht gefunden wurde, ergibt das obere gnadenlos eine endlosschleife

wir hatten das so gemacht, dass wir das ergebins erstmal auf 0 (ausserhalb des arrays) setzen und die while schleife maximal bis zu CONST n = 10000 (so lang ist der Array) laufen lassen.

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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