AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

guter stil????

Ein Thema von Mr. Pink · begonnen am 25. Mär 2006 · letzter Beitrag vom 29. Mär 2006
Antwort Antwort
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#1

Re: guter stil????

  Alt 28. Mär 2006, 08:40
Zitat:
Und irgendwie finde ich meine Version übersichtlicher, als eure ._.
Delphi-Quellcode:
Delphi-Quellcode:   zusammenfalten | markieren   
// MEINE
If ... Then Begin
  ...;
End Else If ... Then Begin
  ...;
End Else if ... Then Begin
  ...;
End Else Begin
End;

// das Andere
if ... then
begin
  ...;
end else
  if ... then
  begin
    ...;
  end else
    if ... then
    begin
      ...;
    end else
    begin
    end;
Und ja, ich mache manchmal immernoch mehrere Befehle in eine Zeile, wenn es logisch zusammengehört und so auch noch übersichtlicher ist
Sorry aber das ist Spaghetti Code. Due zerstörst damit die visuelle Kommunikation mit dem Leser.
Im zweiten, wesentlich besseren beispiel kann man sehr schön und deutlich erkennen das es 4 sequientielle Abhänigkeiten gibt. Der 4'te Source block wird nur ausgeführt wenn der 3'te UND 2'te UND 1'te Sourceblock NICHT ausgeführt werden. Formal also if not (Block1 and Block2 and Block3) then Block4.

Das ist im ersten Beipiel definitiv nicht visuell zu erkennen. Dieser Beispiel könnte auch eine CASE Anweisung darstellen. Also eine Auswahl von 4 Möglichkeiten bei der immer 1 Möglichkeit mit gleichhoher Wahrscheinlichkeit wie die anderen 3 zutreffen können.

Zudem: syntaktische Sprachbezeichner schreibt man immer klein und da wir nicht in Deutsch programmieren gelten auch nicht die deutschen Rechtschreibregeln

Desweiteren ist eine spätere Veränderung der Verschachtelungen sehr einfach möglich. Gesetzt den fall das man im 2'ten Block noch eineiges an Precomputing reinbauen möchte, also gemeinsamme Variablen initialisieren möchte dann sieht das so aus:

Delphi-Quellcode:
if ... then
begin
  ...;
end else
  if ... then
  begin
    ...;
  end else
  begin
    Variable := XYZ;
    if ... then
    begin
      ...;
    end else
    begin
    end;   
  end;
Die gesamtstruktur bleibt erhalten, was auch logisch ist da das objige Konstrukt nur ein reduzierte Kurzform der vollständigen Systax ist:

Delphi-Quellcode:
if ... then
begin
  ...;
end else
begin
  if ... then
  begin
    ...;
  end else
  begin
    if ... then
    begin
      ...;
    end else
    begin
    end;   
  end;
end;
Die Kurzschreibweise ist also eine reine Reduktion von begin end blöcken per Löschen von Zeilen. Eine Expansion einer Kurzschreibweise sollte nur durch einfügen von begin end Blöcken wieder auf die offiziell richtige Schreibweise zurückführen (mit Außnahmen wie immer )

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort

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 21:48 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-2025 by Thomas Breitkreuz