Delphi-PRAXiS
Seite 1 von 7  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung? (https://www.delphipraxis.net/186033-praefix-oder-suffix-wie-haltet-ihr-es-mit-der-namensgebung.html)

Sherlock 29. Jul 2015 10:10

Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Es gibt da ja im Borland Styleguide edn.embarcadero.com/article/10280 (ja Borland. Da steht zwar irgendwo im Link Embarcadero, aber im weiteren Verlauf wird so oft der Name Borland genannt, daß man vor Rührung heulen möchte) den Abschnitt zur Namenskonvention. Interessanterweise gibt es dort keinen Hinweis auf die Notwendigkeit von Typangaben bei Bezeichnern - weder Prä noch Suff werden da gefordert. Im Prinzip haben die ja sogar Recht, da entwickelt man endlich nicht mehr in einem Texteditor, sondern in einer IDE mit so mächtigen Dingen wie Tooltips, die einem im Nullkommanix den Typ und den Ort der Deklaration anzeigen können, da ist ein wie auch immer gearteter -fix nicht mehr nötig. Nun ist der Mensch aber ein Gewohnheitstier, was früher unter Fortran gut und richtig wahr, ist auch heute noch gültig. Darum bemüht man sich um schöne Bezeichner, die den Typ wiedergeben sollen.

Hier nun zum Kern: Am beliebtesten scheint aktuell der Präfix zu sein. Wenn man also ein TEdit hat, das erlaubt einen Vornamen einzugeben, wird das Ding in der Regel (Abkürzungen machen das Leben leichter)
Delphi-Quellcode:
EdVorname
genannt. Für ein Label zu eben diesem Edit folgt demnach
Delphi-Quellcode:
LblVorname
.

Es gibt aber auch die andere Möglichkeit, nämlich den Typen ans Ende zu setzen. Es gäbe dann also ein
Delphi-Quellcode:
VornamenEd
und ein
Delphi-Quellcode:
VornamenLbl
(Man beachte die Grammatik).

Meine Präferenz geht klar zu letzterem, wobei ich aber Basistypen wir Integer, String oder Boolean weglasse. Das ist nun wirklich entweder dem sinnvollen Namen oder auch besagtem Tooltip zu entnehmen. Ich würde also nur bei komplexen Objekten ein Typensuffix verwenden. Zusätzlich würde ich den Suffix nicht abkürzen, sondern ausschreiben - bevorzugt jedoch den einfachen Vorfahren (statt
Delphi-Quellcode:
BerufsDBLookUpComboBox
lieber
Delphi-Quellcode:
BerufsCombo
).

Wie haltet Ihr das also mit der Namenskonvention?

Sherlock

Der schöne Günther 29. Jul 2015 10:26

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Meinst du
  1. Die Benennung von Komponenten auf VCL/FMX-Formularen
  2. Die allgemeine Namensgebung für alle Bezeichner?

Ich bekomme Ausschlag wenn ich sehe wie manche Leute in Pascal ihre Bezeichner dekorieren. Meine Weltanschauung sagt:
  • A vor Parametern ("Argument"): NEIN.
  • L vor lokalen Variablen: NEIN.
  • T vor Typbezeichnern ("TObject"): Ja, denn Pascal ist leider case-insensitiv.
  • P vor Pointer-Typen: Ja. Wahrscheinlich C-Angewohnheit, denn dort ist vieles weniger typsicher. In Delphi könnte man sich das wohl in 90% aller Fälle sparen
  • I vor Interface-Typen. Ja. In C# ist es auch so, ist glaube ich einfach nur ein Microsoft-Stil. Woanders habe ich so etwas nämlich noch nie gesehen.
  • F vor Klassen/Record-Feldern. Jein. Ich hasse es wie die Pest. Hat man aber eine gleichnamige Property geht es nicht anders. Wäre Pascal case-sensitiv würde ich es über Groß/Kleinschreibung machen (Property groß).
  • Statische Methoden: Anfangsbuchstabe groß. Instanzmethoden: Anfangsbuchstabe klein. Meine einzige Hilfe- Ich komme bis heute nicht damit zurecht, wie man in Delphi sonst vernünftig erkennen kann ob eine Methode statisch ist oder nicht!


Zu Komponenten auf Formularen: Ich packe den Typen auch immer in den Namen, allerdings am Schluss. Was bringt es wenn er am Anfang steht? Vor allem so komisch abgekürzt? Ich sehe nicht wo ein "btnStartSomething" besser und leserlicher ist als ein "startSomethingButton". Vor allem weil sich jeder für jede Komponente wahrscheinlich eigene Abkürzungen erfindet...

Sir Rufo 29. Jul 2015 10:32

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Ich verwende immer den Typen als Suffix.
Delphi-Quellcode:
KundeIdLabel: TLabel;
KundeNummerEdit: TEdit;
KundeNameEdit: TEdit;
LieferantIdLabel: TLabel;
LieferantNummerEdit: TEdit;
KundeEditForm: TForm;
Meine Denkweise ist eben einfach so, dass ich z.B. vom Lieferent die Nummer irgendwo hinschreiben möchte und dann sehe ich duch CC sofort, aha ein Edit/Label.
  • LieferantNummerEdit
  • LieferantNummerEdit
  • LieferantNummerEdit
Und weil der Typ am Ende steht, habe ich auch sofort die Assoziation zum Typen und weiß, was ich dort an Eigenschaften und Methoden erwarten kann.

Luckie 29. Jul 2015 10:46

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Ich bevorzuge Präfixen. Und der Typ ergibt sich aus der Benennung:

PersonalNummer -> Integer
PersonalName -> String
IstKrank -> Boolean

Und bei den heutigen modernen IDs mit Codevervollständigung machen Typen in der Benennung den Code nur unübersichtlicher. In den 70'ern mit C und typenunsicheren Sprachen war es wohl mal sinnvoll. heute sehe ich keine Notwendigkeit dazu. Und du hast ja selbst gesagt, dass da immer der Name Borland auftaucht, da kannst du schon sehen, wie alt das Dokument ist.

MichaelT 29. Jul 2015 10:47

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Prefix - Sortierung frei Haus.

Zitat:

Zitat von Sherlock (Beitrag 1310099)

Wie haltet Ihr das also mit der Namenskonvention?

Sherlock


Mavarik 29. Jul 2015 10:58

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Typen immer dahinter...

TEdit
VornameEdit
TelefonEdit1
TelefonEdit2

TLabel
VornameLBL
TelefonLBL1

TButton ohne type sondern Funktion die er auslößt.
SucheStarten

TTabControl
BilderTab

Bei Variablen die "A","L","T","P","I","F" Prefix-Geschichte

Mavarik

TRomano 29. Jul 2015 10:59

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Ich benutze immer Präfixe ... alte Angewohnheit aus den 80'ern (warum weiß ich nicht mehr).
Bei Typen, Zeigern halte ich mich an Delphi, also vorangestelltes "T" oder "P".

bei Komponenten:

cbCheck : Checkbox
dbeFirstName: DBEdit
rgChoice : RadioGroup
dictNamen : Dictionary
usw.

Nur bei einigen anderen Komponenten bin ich da ein wenig lascher ... alle Arten von Listen bekommen ein "lst" vorangestellt.

Gruß Thomas

stahli 29. Jul 2015 11:31

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Bei Variablen benutze ich die klassischen Präfixe (z.B. fName, aName, lName). Die Kleinschreibung finde ich dabei hilfreich.

Listenvariablen hänge ich meist nur List an, auch wenn das grammatikalisch nicht ganz sauber ist (z.B. PersonList statt People oder CityList statt Cities).

Klassen und Interfaces gebe ich auch gerne mal ein Präfix, damit die Zugehörigkeit zu einer Gruppe schnell klar wird (z.B. TxyClass bzw. IxyIntf).


Formularcontrols benenne ich in der Form EditPersonFirstname, wenn es notwendig ist.

Wenn man ein Framework hat/hätte, das ein konsequentes Databinding unterstützt, müssten Formularcontrols eigentlich gar nicht mehr benannt werden. Dann müssten die Controls eigentlich nicht mehr mit Namen angesprochen sondern nur noch an bestimmte Daten gebunden werden.

MichaelT 29. Jul 2015 11:33

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
a ... ist durchaus nicht ungewöhnlich - ein unbestimmter Artikel oder unbest. Zahlwörter. (a, some, ..)

Das mit dem l hat heute keine Bedeutung mehr. Die Methoden viel kürzer sind als noch vor geraumer Zeit. Der Vorteil ist beim Suchen sieht man die Zuweisungen. Bei prozeduralen Sprachen (PL-SQL oder ABAP) ist das vorteilhaft - Verbundtypen. Bei mir blieb auch nurmehr lWork ... das sind beliebige Verbundtypen außer Klassen eben instanziert, alles was so an 'record' erinnert.

Zitat:

Zitat von Der schöne Günther (Beitrag 1310102)
Ich bekomme Ausschlag wenn ich sehe wie manche Leute in Pascal ihre Bezeichner dekorieren. Meine Weltanschauung sagt:
[LIST][*]A vor Parametern ("Argument"): NEIN.[*]L vor lokalen Variablen: NEIN.


bernau 29. Jul 2015 11:34

AW: Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
 
Ich benutze immer Präfixe. Weil es schon immer so war. :roll:

Bei Komponenten:

EdVorname:TEdit
ChkIstBlond:TCheckbox
LbOrte:TListbox

etc.


Argumente beginnen immer mit "a".
Lokale Variablen immer mit "l".

u.s.w.


Ich mag es, wenn ich in der Klasse sortieren kann und alle Edits beisammen habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr.
Seite 1 von 7  1 23     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