![]() |
Re: Allgemeine Delphisyntax
Hi,
in vielen Punkten gebe ich Dir recht, jedoch mache ich einige Dinge anders. Unter anderem rücke ich immer mit zwei Zeichen (bzw. je nach tiefe mit 4, 6, ...) ein. Habe das in der Schule so gelernt. Echte Tabs sind für mich zu viel Leerraum. Ich schreibe reservierte Wörter grundsätzlich klein, dazu gehört für mich auch string (Habe das zuerst in der Schule mit TurboPascal so gelernt).
Delphi-Quellcode:
Das halte ich auch viel übersichtlicher, wobei ich auch mal die andere Schreibweise verwende.
var
oForm: TForm; hForm: THandle pData: Pointer; aData: array of Byte;
Delphi-Quellcode:
Ich verwende hier aus Gewohnheit die zweite Variante. IMHO übersieht man es leichter, wenn man es nur in eine Zeile schreibt.
// FALSCH
if A < B then DoSomething; // RICHTIG if A < B then DoSomething; Bei der Sache mit den IF-THEN-ELSE Blöcken halte ich auch die "richtige" Variante mit 3 Zeilen für zu lang und überflüssig, andererseits finde ich die erste Variante auch nicht so gut. Ich mache das so:
Delphi-Quellcode:
mfG
if A < B then
begin DoSomething; DoSomethingElse; end else begin DoThis; DoThat; end; mirage228 |
Re: Allgemeine Delphisyntax
Also ich mach immer ein Mittelding von den beiden :
Delphi-Quellcode:
:mrgreen:
// FALSCH
if A < B then begin DoSomething; DoSomethingElse; end else begin DoThis; DoThat; end; // RICHTIG if A < B then begin DoSomething; DoSomethingElse; end else begin DoThis; DoThat; end; // So mach ichs ^^ if A < B then begin DoSomething; DoSomethingElse; end // manchmal das else auch schon hier hinter else begin DoThis; DoThat; end; Das mit den for Schleifen mache ich auch "falsch" :
Delphi-Quellcode:
Meine "begin"s sind immer direkt in der gleichen Zeile wie das "then" oder das "do" usw... hab ich mir so angewöhnt und find ich übersichtlicher..
// FALSCH ... So mach ichs aber
for i := 0 to 10 do begin DoSomething; DoSomethingElse; end; |
Re: Allgemeine Delphisyntax
Moin Zusammen,
also ich denke mal "den" Styleguide gibt es nicht. Solange man alleine arbeitet sollte man es so machen, wie es der eigenen Übersicht dienlich ist. Diesen Stil sollte man dann aber auch durchhalten, wobei natürlich nichts dagegen spricht den eigenen Stil weiterzuentwickeln, wenn man merkt dass es noch besser geht. Sobald man allerdings im Team arbeitet, wird man nicht umhinkommen einen einheitlichen Stil zu verwenden. Ob der jetzt vorgegeben wird, oder gemeinsam entwickelt werden kann ist dann wieder eine zweite Sache. Eine Zeitlang habe ich, z.B., mit Parameter mit p_ eingeleitet. Es hat sich allerdings herausgestellt, dass diese Schreibweise dann doch nicht so ideal war, und ich habe das auf A geändert. @Marco: Warum nun integer kein reserviertes Wort ist kann ich Dir auch nicht sagen, aber es die Auswirkung, dass Du den Bezeichner auch anders verwenden kannst:
Delphi-Quellcode:
Ob das jetzt Sinn macht sei einmal dahingestellt.
// Zulässig
procedure integer; begin end; // Nicht zulässig procedure string; begin end; |
Re: Allgemeine Delphisyntax
Bei größeren Projekten würde ich empfehlen die Proceduren und funktionen Alphabetich zu ordnen. Anfangs hab ich immer Get und Set Methode über einander geschrieben aber irgendwann verliert man da die Übersicht.
Delphi-Quellcode:
setweiteren würde ich empfehlen für private, protected, global, local, Übergabeparameter verschiedene Buchstaben voranzustellen um beim überliegen des Quelltextes sofort zu wissen ob es sich bei einer Variablen um eine lokale, globale etc. handelt. Eigentlich gibt es da bei Delphi nur das vorrangstellte F bei private-Variablen. Inzwischen hab ich mir jedoch angewöhnt private-Variablen mit einem kleinen "f" zu beginnen und Proceduren mit einem großen "F". Somit weiß ich wenn ich im Quelltexte
private
function FGetAbc: Integer; function FGetDef: Integer; function FGetGhi: Integer; procedure FSetAbc(AValue: Integer); procedure FSetDef(AValue: Integer); procedure FSetGhi(AValue: Integer);
Delphi-Quellcode:
lese sofort das "FMainID" eine funktion ist und keine Variable da eine Variable bei mir mit einen kleinen "f" beginnt. Bei Lokalen Variablen/Funktionen verhält es sich genau so. Ist zwar alles kein Standard aber selbst die Kollegen bei Gemeinschaftsprojekten wissen es zu schäzen weil sie sofort wissen worum es sich beim überfliegen vom Quelltext handelt.
lTmpInt := FMainID;
folgende Variante halte ich für völlig unübersichtlich Zitat:
Die Variante
Delphi-Quellcode:
finde ich persönlich auch nicht sehr ansehnlich aber man sieht auf den ersten blick ob es sich um ein "else if" handelt oder nur um eine "end" oder eben um ein "end else". würde alles auf einer Zeile stehen müsste man erst in die Zeile reinlesen und es würde nicht ausreichen nur den Zeilenanfang anzusehen. Im großen und ganzen finde ich die Standards schon recht sinnvoll auch wenn ich davon ab und zu abweische. Dies liegt allerdings daran das ich meist zu faul bin 3 mal enter zu tippen etc..
[...]
end else begin [...] |
Re: Allgemeine Delphisyntax
Zitat:
Und wenn wir schonmal beim Rundumschlag sind.... :mrgreen: hungarian Notation und Unterstriche sollten verboten werden :P Ich verwende Unterstriche nur in diesen Pseudo templates. Warum? Weil's so hässlich aussieht, dass diese Platzhalter niemals mit richtigen Bezeichnern kollidieren könnten. ;) Und diese Präfixe. Die erinnern mich irgendwie immer an die Bezeichner in einer DB, angelegt von jemanden, der nicht mit der DB arbeiten muss. Ihr wisst schon, solch kryptischer Käse wie: Emp_FK_XYZ_tblFünfte_dirLinks_procErste. :? Jupp ist klar, verständliche lesbare Namen wären ja zu einfach. :mrgreen: Aber eigentlich kann's mir ziemlich egal sein, was ihr wie tippt. Hässlichen Code schaue ich mir eigentlich nur an, wenn ich besonders gute Laune habe. Ob ich danach immer noch die Lust verspüre eine Antwort zu schreiben ist wieder eine ganz andere Frage. ;) Fließt einfach zuviel böses Blut wenn man ständig wegen hässlichem Code rumheult. ;) Aber einer der Vorteile von Pascal ist, dass "Pascalies" zu einem hohen Anteil ziemlich nah nach an einem Standard bleiben. Wenn ich mir manchen C# Code ansehe wo private Felder mit einem Unterstrich begonnen werden, öffentliche proeprties mit einem kleinen Buchstaben beginnnen oder was weiß ich für kranke Sachen... Ich glaube da wäre es mir lieber den hässlichsten Delphi code durchzulesen, den ich mir vorstellen kann. ;) |
Re: Allgemeine Delphisyntax
Hallo zusammen!
Zitat:
Delphi-Quellcode:
:warn: Ich finde das irgendwie eine Art "Stilbruch" (obwohl es ja genau genommen gerade das Gegenteil ist :nerd: ): Wenn ich alle Datentypen zu Beginn groß schreibe, dann tu ich das auch mit String, da kann es ein reserviertes Wort oder auch irgendwas anderes sein (aber eben trotzdem ein Datentyp).
Ich schreibe reservierte Wörter grundsätzlich klein, dazu gehört für mich auch string (Habe das zuerst in der Schule mit TurboPascal so gelernt).
Zitat:
Und wann ist es angebracht, des Dingens mal so und mal anders zu schreiben? Zitat:
Delphi-Quellcode:
:mrgreen:
end
else begin ---- Zitat:
Zitat:
---- Zitat:
Zitat:
Zitat:
Gruß, Marco |
Re: Allgemeine Delphisyntax
Zitat:
oh, so mache ich das natürlich nicht :mrgreen:
Delphi-Quellcode:
So ists besser ;)
if A < B then
begin DoSomething; DoSomethingElse; end else begin DoThis; DoThat; end; Zitat:
mfG mirage228 |
Re: Allgemeine Delphisyntax
[Senf]
Zitat:
Nene, für solche Dinge sind Source-Formatter da ^^ Bis auf Spaces und ein paar anderen Kleinigkeiten halte ich mich auch an den Pascal guide. [/Senf] |
Re: Allgemeine Delphisyntax
Zitat:
Ich habe folgendes geschrieben Euch ist schon klar, dass Tabs die Möglichkeit geben, die Breite der Einrückung selbst zu bestimmen OHNE dass es beim nächsten zu Übelkeit führt? Der stellt sich nämlich seine Breite so ein wie er es will. ;) Interessanterweise kommt dieses Argument immer wieder von diesen "Tab-Tipper-aber-Space-Einfüger", man _könnte_ also argumentieren, dass diese Spezies nicht sehr weit denkt. Ohne eine unabhängig durchgeführte Studie dazu würde ich mich da aber offiziell nicht festlegen wollen... :mrgreen: |
Re: Allgemeine Delphisyntax
Zitat:
Natürlich nur wenn man das System dahinter richtig versteht. Leider tun das die wenigsten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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 by Thomas Breitkreuz