Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Welche Art Notation wendet ihr an? (https://www.delphipraxis.net/190594-welche-art-notation-wendet-ihr.html)

Jim Carrey 19. Okt 2016 12:39

Welche Art Notation wendet ihr an?
 
Mich würde mal interessieren, welche Art Notation ihr anwendet und besonders auch warum.

Ich wende eine Art ungarische Notation an, aber nicht wirklich:
Delphi-Quellcode:
// Normale Variablen
var
 sString: String;
 iInteger: Integer;
 dDouble: Double;
 fFloat: Float;
 pPointer: Pointer;

// Properties
FiMeinProperty: Integer;
property iMeinProperty: Integer read FiMeinProperty write FiMeinProperty;

// Parameter in Funktions- und Prozedurenköpfen (erster Buchstabe der Funktion/Prozedur immer klein und ein "a" vor den Parametern)
procedure test(aString: String);

// Klassen und Typen
type
 TMeineKlasse = class
 private
  //
 public
  //
 end;

type
 TMeinType = ....

Der schöne Günther 19. Okt 2016 12:55

AW: Welche Art Notation wendet ihr an?
 
Im Leben nicht. Warum? Das ist doch völlig redundant. Grade in Delphi mit seiner (fast schon übertriebenen Typsicherheit) hat man dadurch doch rein gar nichts gewonnen.

Siehe auch:
https://de.wikipedia.org/wiki/Ungari...otation#Kritik

jaenicke 19. Okt 2016 13:00

AW: Welche Art Notation wendet ihr an?
 
Solche Präfixe braucht man bei Delphi nicht, da die Variablen ohnehin feste Typen haben. Dazu kommt, dass der Variablenname selbst schon einen Hinweis geben sollte was das für ein Typ ist.
Dass zum Beispiel ItemName kein Integer ist, ist ohnehin klar.

Deshalb macht man sich dadurch nur unnötig Arbeit. Wenn der Quelltext ordentlich strukturiert ist und die Bezeichner ordentlich benannt, braucht man diese Information nicht.

Wo ich tatsächlich Präfixe setze, ist bei visuellen Komponenten. Das hat den Grund, dass ich den konkreten Namen einer Komponente natürlich nicht immer im Kopf habe. Ich will aber auch nicht jedesmal nachschauen müssen. Deshalb heißen Labels z.B. lblXYZ. Ich brauche also nur lbl eingeben um alle Labels vorgeschlagen zu bekommen. In der dann kleineren Liste finde ich in der Regel auch sofort was ich suche.

Uwe Raabe 19. Okt 2016 13:05

AW: Welche Art Notation wendet ihr an?
 
Zitat:

Zitat von jaenicke (Beitrag 1351360)
Wo ich tatsächlich Präfixe setze, ist bei visuellen Komponenten. Das hat den Grund, dass ich den konkreten Namen einer Komponente natürlich nicht immer im Kopf habe. Ich will aber auch nicht jedesmal nachschauen müssen. Deshalb heißen Labels z.B. lblXYZ. Ich brauche also nur lbl eingeben um alle Labels vorgeschlagen zu bekommen. In der dann kleineren Liste finde ich in der Regel auch sofort was ich suche.

Insbesondere kann man das zu diesem TLabel gehörende TEdit dann z.B. auch sinnvoll edtXYZ nennen.

Der schöne Günther 19. Okt 2016 13:06

AW: Welche Art Notation wendet ihr an?
 
Da stimme ich zu - Bei visuellen Komponenten habe ich das auch drin.

Aber warum als Prefix, und nicht als Suffix? Wenn es z.B.
Delphi-Quellcode:
userInputEdit
und
Delphi-Quellcode:
userInputSubmitButton
heißt habe ich direkt die Teile die zum "UserInput" gehören. Stände es nicht am Anfang müsste ich danach suchen.

SProske 19. Okt 2016 13:13

AW: Welche Art Notation wendet ihr an?
 
Ich weiß nicht, wie man das nennt, aber:
- grundsätzlich CamelCase
- Interfaces mit führendem I, Klassen mit führendem T
- Klassenvariablen mit führendem F (die Property dann entsprechend ohne dieses)
- Visuelle Komponenten mit führendem Komponententyp (voll ausgeschrieben, also EditName, nicht EdtName), außer VirtualStringTree, bei dem nur VSTIrgendwas
- Zählvariablen I, J, K usw.
- sonst keine Prä-/Suffixe und hoffentlich sprechende Namen

Uwe Raabe 19. Okt 2016 13:16

AW: Welche Art Notation wendet ihr an?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1351363)
Aber warum als Prefix, und nicht als Suffix? Wenn es z.B.
Delphi-Quellcode:
userInputEdit
und
Delphi-Quellcode:
userInputSubmitButton
heißt habe ich direkt die Teile die zum "UserInput" gehören. Stände es nicht am Anfang müsste ich danach suchen.

Beide Varianten haben sicher ihre Vor- und Nachteile. Damit bleibt es wohl Geschmackssache. Ich halte es in diesem Fall wie Sebastian, unter anderem auch, weil ich einen Analyzer habe, der die Einhaltung dieser Regel überprüft.

sh17 19. Okt 2016 13:17

AW: Welche Art Notation wendet ihr an?
 
Ich bevorzuge _ vor Paramter-Bezeichnungen

also

Code:
procedure Do(_Val : Integer);
...

function Do(const _Val : String; out _Result : Integer) : Boolean;
...

Aviator 19. Okt 2016 13:45

AW: Welche Art Notation wendet ihr an?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1351365)
Zitat:

Zitat von Der schöne Günther (Beitrag 1351363)
Aber warum als Prefix, und nicht als Suffix? Wenn es z.B.
Delphi-Quellcode:
userInputEdit
und
Delphi-Quellcode:
userInputSubmitButton
heißt habe ich direkt die Teile die zum "UserInput" gehören. Stände es nicht am Anfang müsste ich danach suchen.

Beide Varianten haben sicher ihre Vor- und Nachteile. Damit bleibt es wohl Geschmackssache. Ich halte es in diesem Fall wie Sebastian, unter anderem auch, weil ich einen Analyzer habe, der die Einhaltung dieser Regel überprüft.

Ich bevorzuge den Präfix. Wenn man kein CnPack benutzt, dann findet auch die Delphi Integrierte Eingabehilfe direkt die Komponenten. In Verbindung mit CnPack würde auch ein Suffix funktionieren weil CnPack alle Teile des Namens betrachtet.

Früher hatte ich Suffixe verwendet, bin aber schon vor Jahren zu dem Schluss gekommen, dass Präfixe (zumindest für mich) wesentlich besser sind.

sahimba 19. Okt 2016 19:09

AW: Welche Art Notation wendet ihr an?
 
Zitat:

Zitat von sh17 (Beitrag 1351366)
Ich bevorzuge _ vor Paramter-Bezeichnungen

Das ist nicht schön vong Ästhetik her.

Ich verwende ein A. AValue, AName...
Lokale Variablen erhalten ein führendes L um sie von möglicherweise gleichnamigen Properties uzu unterschieden.
Ansonsten, das übliche: Klassen, Enums, Records ein T, Interfaces ein I, Felder ein F. Konstanten ein führendes C.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Seite 1 von 3  1 23      

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