Delphi-PRAXiS
Seite 5 von 8   « Erste     345 67     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   guter stil???? (https://www.delphipraxis.net/66168-guter-stil.html)

sECuRE 28. Mär 2006 05:51

Re: guter stil????
 
Hi,

ich glaube du hast nicht ganz verstanden, worauf ich hinaus will. Ich habe die letzten 3 Jahre auf einem 15"-Monitor gearbeitet und da ist jede Zeile mehr ein großer Vorteil. Mittlerweile habe ich einen 21"-Monitor und das Problem ist nicht mehr so gravierend.

Aus Gewohnheit verwende ich jedoch weiterhin meine Einrückungen, es liest sich für mich einfach flüssiger, denn ich sehe ja anhand der Einrückungen sofort, wo ein neuer Block/ein entgegengesetzter Block (else) anfängt beziehungsweise aufhört. Schade eigentlich, dass Delphi das nicht so sieht, sondern durch begin und end mitgeteilt haben will ;).

Dass man Teilprobleme behandeln soll ist absolut korrekt und ich bemühe mich auch immmer, das so zu machen. Trotzdem gibt es bei mir zum Beispiel Units, die viele solcher Funktionen enthalten, die ich abschließend noch mal überfliege um zu schauen, ob sich da nicht doch noch irgendetwas optimieren lässt oder Fehler vorhanden sind. Da brauch ich nicht alle Zeilen noch mal durchzulesen, sondern kann, wenn alles so geschrieben ist, wie ich es logisch finde, einfach durchscrollen...

Übrigens: Kennt ihr Programme wie "indent" (auf Linux nur glaub ich)? Die lassen einen seinen Stil einmal einstellen und anschließend kann man sie über den Quelltext laufen lassen und die erledigen alle Einrückungen/Leerzeichen/wasauchimmer. Fände ich sehr praktisch, wenn man viel mit fremdem Sourcecode arbeiten muss und den schnell und einfach an seine Gewohnheiten anpassen will. Oder um das Tabstop-Problem aus der Welt zu schaffen. Oder für Newbies, die noch nicht das ganze Styleguide kennen/sich merken können ;).

cu

alzaimar 28. Mär 2006 07:13

Re: guter stil????
 
@secure: Gibt es längst für Delphi: DelForEx, Jedi Code Formatter etc.

Ich habe Deinen Diskurs mit negAH verfolgt und muss Dir attestieren, das Du bedingt beratungsresistent bist. Dein Code zeigt, das Du nich nicht allzu lange programmierst. Das erkennt man an teilweilse sehr umständlichen Formulierungen. Und das widerum widerspricht Deiner Behauptung, kompakten Code schreiben zu wollen.

Weiterhin fehlt das Bestreben zur Codeoptimierung. Das ist verständlich, wenn man noch nicht so lange programmiert. Dann sollte man sich aber von so einem 'alten Hasen' wie negaH ruhig etwas erklären lassen ohne gleich pavlovartig eine Abwehrhaltung einzunehmen.

Deine Ausführungen bezüglich Programmieren/Mathematiker sowie Delphi/Pascal zeugen von einer wirklich fehlenden Erfahrung und Weitsicht. Jeder Programmierer, Softwareentwickler, Softwaretechniker, Projektleiter etc. sollte über den Tellerrand schauen bzw. sich zumindest in der Historie der Informatik auskennen. Da macht es wirklich keinen Unterschied, ob man Informatiker oder Programmierer ist.

Auch als Tischler / Hobbytischler sollte man sich mit Holz, der Geschichte der Werkzeuge und des Handwerks an sich auskennen. Nur so kommt man zu optimalen Ergebnissen, weil man nur mit dem Wissen der Vergangenheit seinen eigenen Horizont erweitern und die eigene Leistung optimieren kann.

Wenn Du aber auf dem Standpunkt beharrst, ein Programmierer sei kein Informatiker, das ist diese Aussage ein Denkmal deines Anspruches an dich selbst.

Luckie 28. Mär 2006 07:22

Re: guter stil????
 
Zitat:

Zitat von alzaimar
Wenn Du aber auf dem Standpunkt beharrst, ein Programmierer sei kein Informatiker, das ist diese Aussage ein Denkmal deines Anspruches an dich selbst.

Korrektur: Er hat gesagt, er sei Programmierer und kein Mathematiker.

Aber ehrlich gesagt, werdet ihr mir hier schon zu persönlich. Ursprünglich ging es um CodeDesign, jetzt seit ihr bei den Programmieransichten von secure.

alzaimar 28. Mär 2006 07:39

Re: guter stil????
 
Zitat:

Zitat von sECuRE
Ich bin Programmierer, kein Mathematiker
...
Mathematiker sind nicht gleich Programmierer (ich sage nicht Informatiker!

Hi Luckie...
1. secure = Programmierer
2. secure <> Mathematiker
3. Mathematiker <> Programmierer
4. Mathematiker ! <> Informatiker

3 belegt 1+2 aber auch:
5. secure <> Informatiker

Zur 'persönlichen Wendung':
Ich dachte, secure hatte den Thread mit einer persönlichen Frage eröffnet. :wall: Stimmt ja nicht ganz. War ja Mr.Pink. Dessenungeachtet sind (finde ich) meine Äußerungen zwar an secure gerichtet, aber nicht 'persönlich', also das man sich auf den Schlips getreten fühlen muss. Oder so. Ess ist nur so, das solche eine Beratungsresistenz zwar jedem sein Plaisir ist, aber dennoch sei die Bemerkung erlaubt, das der Horizont durchaus erweiterungswürdig sei.

Na ja, vielleicht etwas scharf formuliert. Wie gesagt, im Kontext meiner fälschlichen Annahme, Secure hätte eine Frage bezuglich seines Stils gestellt und verweigert sich dann jedoch sachlicher Kritik.

negaH 28. Mär 2006 08:40

Re: guter stil????
 
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

negaH 28. Mär 2006 08:54

Re: guter stil????
 
Delphi-Quellcode:
    begin
      ...;
    end else
    begin
    end;
Das Hochziehen des ELSE gleich nach dem END halte ich für absolut zulässig. Einfach weil in diesem Fall garnicht die Möglichkeit besteht in diesen Zeilen noch anderen Code zu schreiben. Das ist syntaktisch nicht möglich und führt zu einem Compilierfehler.
Desweiteren kann es praktisch kein doppeltes begin end auf gleicher Einrückung geben. Die einzisgte Ausnahme wäre ein überflüssiges begin end im Sourcecode ohne vorherige bedingte Verzweigung. Ein Source der sowas macht ist mir aber noch nie unter die Augen gekommen. Ergo können wir das else ohne Probleme hochziehen und erhöhen damit die Lesbarkeit indem wir aufs Wesentliche kommmen.

Gruß Hagen

ibp 28. Mär 2006 08:56

Re: guter stil????
 
Hallo,

ist es eigentlich jemanden aufgefallen, dass mr. pink sich schon längst aus diesem thread verabschiedet hat?
Die Anfangsfrage galt dem style eines delphi-programms und nicht dem inhalt.

@mr. pink: hier findest du einen style-guide für delphi.

negaH 28. Mär 2006 09:00

Re: guter stil????
 
Mir ist aber auch aufgefallen das DU noch mitliest ;) Ich leite davon ab das es auch viel andere Leser der DP gibt die sich für das gleiche Thema interessieren. Deine Bemerkung zielt also darauf ab das Andere nicht das recht hätten auch was aus diesem Thread für scih ziehen zu dürfen, schade eigentlich.

Und ja, es geht immer um inhaltliche Fragen bei der Programmierung auch wenn es nur die äußere Form des Source betrifft. Denn Form ohne Inhalt ist sinnlos, aber Inhalt in gute Form gebracht ist besser verkaufbar.

Gruß Hagen

freak4fun 28. Mär 2006 09:09

Re: guter stil????
 
Hallo!
Bei mir würde das so aussehen:

Delphi-Quellcode:
if ... then
  begin
    ...;
  end
else
  begin
    if ... then
      begin
        ...;
      end
    else
      begin
        if ... then
          begin
            ...;
          end
        else
          begin
          end;  
      end;
  end;
Man kann sich ja immer einen eigenen Stil angewöhnen, aber wenn man in eine Firma kommt, bei der es einen Standard gibt, ist der eigene Stil hinfällig. :mrgreen:

MfG
freak

Phoenix 28. Mär 2006 09:10

Re: guter stil????
 
Zitat:

Zitat von negaH
Denn Form ohne Inhalt ist sinnlos, aber Inhalt in gute Form gebracht ist besser verkaufbar.

Ganz OT: Heisst das, Du schreibst endlich Dein eigenes Buch über Kryptographie? :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:18 Uhr.
Seite 5 von 8   « Erste     345 67     Letzte »    

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