AGB  ·  Datenschutz  ·  Impressum  







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

Sinnvoller Einsatz von goto

Ein Thema von Luckie · begonnen am 20. Mär 2010 · letzter Beitrag vom 22. Mär 2010
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Benutzerbild von himitsu
himitsu

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

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 13:57
Zitat von Progman:
Und dass ein Arbeitgeber vorgibt, in welchem Stil programmiert werden muss, hab ich noch nie gehört.
Das bezog sich vorwiegend auf Softwarefiremen wo der Programmierer dann angestellt wäre und wo dann womöglich auch noch Mehrere an dem Projekt arbeiten.
Dort gibt es oftmals entsprechende Vorgaben, damit der Code innerhalb der Firma "gleich" aussieht und damit natürlich auch alle den Code dann besser verstehen können.
> also meist existiert da ein entsprechender Style-Guide
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#32

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 14:01
Vor allem ist "Auftraggeber" nicht unbedingt gleich "Arbeitgeber"!

Dem Auftraggeber kann der Code und die verwendete Programmiersprache egal sein. Dem Arbeitgeber aber noch lange nicht!
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#33

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 14:01
Zitat von Progman:
Und dass ein Arbeitgeber vorgibt, in welchem Stil programmiert werden muss, hab ich noch nie gehört.
Natürlich gibt es firmeninterne Styleguides, wie Code zu formatieren ist. Vielleicht nicht in jeder Firma aber in größeren bestimmt. Und wenn man im Team arbeitet ist es fast unumgänglich, dass man sich da einigt.

Zitat:
Dem Auftraggeber ist es meist sogar egal, in welcher Sprache gearbeitet wird. Hauptsache seine Vorgaben werden erfüllt.
Richtig.
Zitat:
Wir machen Software, die verkauft werden soll und nicht, welche um den besten Programmierstil wetteifert. Das intrweressiert den Käufer nicht die Bohne *g*
Dann viel Spass, wenn der Kund ein zwei Jahren wiederkommt und etwas geändert haben will. Und wenn dann noch der ursprüngliche Programmierer nicht mehr da ist, kann das ziemlich teuer werden für euch, wenn man sich da erst stundenlang einarbeiten muss, um den Quelltext zu verstehen. Klar, wenn ich den Code einfach nur hinrotze und nur zu sehe, dass er irgendwie läuft, egal wie, bin ich zwar schnell und kostengünstig fertig, aber später wird man da um so mehr drauflegen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#34

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 14:17
Äh, merkt denn hier keiner, dass über den Schnee von vor 40 Jahren diskutiert wird ? Alle Jahre wieder oder was ? Ich vermute mal, dass das Goto lediglich im Ur-Pascal vorhanden war, damit Umsteiger von Basic nicht direkt an neueren Schleifen etc. scheitern. That's it. Exit gabs übrigens schon vor BP 7. Hatte das auch gern eingesetzt. Irgendwann hatte ich dann aber gemerkt, dass es mehr ärgerliche Quereffekte verursacht, als es wert ist. Was heisst nun sinnvoll ? IMHO, auf diesen uralten goto-Firlefanz grundsätzlich zu verzichten. Warum soll man etwas mit goto machen, nur weil es auch gehen würde ? Vorteile hat es jedenfalls keine. Ausser, sich darüber zu streiten, was nun lesbarer ist ? Wenn mir ein Beispiel-Quelltext auf den Tisch käme, der mehr als 0 gotos beinhaltet, dann womöglich direkt -> Tonne.
Gruß
Hansa
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#35

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 14:26
Zitat von Luckie:
Zitat von Progman:
Und dass ein Arbeitgeber vorgibt, in welchem Stil programmiert werden muss, hab ich noch nie gehört.
Natürlich gibt es firmeninterne Styleguides, wie Code zu formatieren ist. Vielleicht nicht in jeder Firma aber in größeren bestimmt. Und wenn man im Team arbeitet ist es fast unumgänglich, dass man sich da einigt.

Zitat:
Dem Auftraggeber ist es meist sogar egal, in welcher Sprache gearbeitet wird. Hauptsache seine Vorgaben werden erfüllt.
Richtig.
Zitat:
Wir machen Software, die verkauft werden soll und nicht, welche um den besten Programmierstil wetteifert. Das intrweressiert den Käufer nicht die Bohne *g*
Dann viel Spass, wenn der Kund ein zwei Jahren wiederkommt und etwas geändert haben will. Und wenn dann noch der ursprüngliche Programmierer nicht mehr da ist, kann das ziemlich teuer werden für euch, wenn man sich da erst stundenlang einarbeiten muss, um den Quelltext zu verstehen. Klar, wenn ich den Code einfach nur hinrotze und nur zu sehe, dass er irgendwie läuft, egal wie, bin ich zwar schnell und kostengünstig fertig, aber später wird man da um so mehr drauflegen.
Nunja, wir sind nur eine kleine Firma und wir haben nur 2 Programmierer. Ich arbeite in Delphi während der andere alles andere (Flash etc.) macht und das seit über 10 Jahren. Mein Chef ist damit beschäftigt, ständigen Kontakt mit unseren Auftraggebern zu halten, so dass wir immer zu tun haben. Die Programme, die ich mache bzw. betreue, erfahren jedes Jahr eine Neuauflage (Design, manchmal auch Inhalt). Und ich gestalte meinen Code, wie ich es für sinnvoll halte. Wir machen halt Software, die nicht gewartet werden muss, da sie eh jedes Jahr neu gemacht wird.
Daher ist eben für mich dieses "Programmieren nach Vorschrift" irrelevant
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#36

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 14:50
Auch wenn es langsam offtopic wird, aber nur damit ich das richtig verstehe. Du schreibst jedes Jahr das komplette Programm neu, wenn der Kunde etwas geändert oder erweitert haben will? Kannst du mir mal bitte sagen, was das soll und warum du das machst?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#37

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 15:24
Zitat von Luckie:
Auch wenn es langsam offtopic wird, aber nur damit ich das richtig verstehe. Du schreibst jedes Jahr das komplette Programm neu, wenn der Kunde etwas geändert oder erweitert haben will? Kannst du mir mal bitte sagen, was das soll und warum du das machst?
Ich schreibe es nicht neu sondern gestalte es neu (meist nur äußerlich). Der "Code-Kern" bleibt gleich. Es gibt einfach jedes Jahr eine Neuauflage.
Und dass ein Kunde (das wäre in diesem Fall z.B. ein MediaMarkt-Kunde, der das Teil für 9,99 gekauft hat) etwas geändert haben wollte, ist noch nie vorgekommen. Wäre ja auch irgendwie absurd *g*
Zumal die Programme unter dem Namen unseres Auftraggebers erscheinen und unsere Firma da eigentlich unerwähnt ist.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Tyrael Y.

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

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 16:30
Wenn es um die Lesbarkeit geht ist folgende Variante, angelehnt ans Cristian Seehase´s Version noch lesbarer.

Delphi-Quellcode:
function DemoThread(const AParentHandle : THandle): Integer;
var
  i: Integer;
begin
  for i := 0 to 9 do
  begin
    if Abort then
    begin
      SendAbort(AParentHandle );
      break;
    end else
    begin
      SendStatus(AParentHandle, i);
      Sleep(500);
    end;
  end;

  if not Abort then
  begin
    SendFinished(AParentHandle);
    Result := 0;
  end;
end;

procedure SendAbort(const AParentHandle : THandle);
begin
  SendMessage(AParentHandle, CM_ABORT, 0 , 0);
end;

procedure SendStatus(const AParentHandle : THandle; index: Integer);
begin
  SendMessage(AParentHandle, CM_STATUS, Integer(PChar('Durchlauf:')), index);
end;

procedure SendFinished(const AParentHandle : THandle);
begin
  SendMessage(AParentHandle, CM_FINISHED, 0, 0);
end;
Jeder soll programmieren wie er selber meint den Code am Besten lesen zu können, denn in 80% der Fälle wird der Verfasser auch den Code lesen.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 17:09
Zitat von Tyrael Y.:
Wenn es um die Lesbarkeit geht ist folgende Variante,
Wenn ich mich nicht irre, sollte der Compiler hier etwas vonwegen "Result könnte undefiniert sein" von sich geben.
$2B or not $2B
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#40

Re: Sinnvoller Einsatz von goto

  Alt 22. Mär 2010, 18:26
Noch etwas Öl oder Code für's Feuer.
Also ich habe bei dieser Funktion noch keinen Weg gefunden, es ohne Goto elegant zu formulieren.
Delphi-Quellcode:
// Prüft, ob eine Datei für den Import vorhanden ist.
// Falls nicht, kann der Benutzer entscheiden, was passieren soll
function CheckImportFile(const fname: TFilename; const Caption:string): Boolean;
var
   msg: string;
label again;
begin
   again:
   if not FileExists(fname) then
      msg := Format('Datei <%s> ist nicht vorhanden', [fname])
   else if FileGetSize(fname) = 0 then
      msg := Format('Datei <%s> ist leer', [fname])
   else
      msg := '';

   if msg <> 'then
   begin
      case MessageBox(0, PChar(msg), PChar(Caption), MB_ICONWARNING or MB_ABORTRETRYIGNORE or MB_SETFOREGROUND) of
        idAbort: Abort; // stille Exception
        idRetry: goto again;
        idIgnore:
        begin
           Result := False; // Datei vorhanden oder leer; der Benutzer möchte die Datei ignorieren
           Exit;
        end;
      end;
   end;
   Result := True; // Datei vorhanden und nicht leer
end;
Andreas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


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