![]() |
Bt=Button, Lb=Label, Ed=Edit
Hi!
Die ersten beiden Buchstaben von Komponentennamen sollen doch idR angeben, um was für eine Komponente es sich handelt. Namen von Buttons z.B. beginnen doch mit Bt, bei Labels ist es Lb, bei Edits Ed. Diese Präfixe bestehen ja immer aus zwei Buchstaben. Gibt es irgendwo ne Übersicht, welche Präfixe die jeweiligen Komponenten besitzen? Ich kann mir kaum vorstellen, dass es jeder so machen soll wie er will. Da gibt's doch bestimmt ne Norm. |
Re: Bt=Button, Lb=Label, Ed=Edit
Ich kann mir nicht vorstellen, das es da ne Norm gibt. Grundsätzlich kann es jeder so halten wie er will. Nur wenn mehrere an einem Projekt arbeiten ist es ratsam sich auf Richtlinien dafür zu einigen.
|
Re: Bt=Button, Lb=Label, Ed=Edit
Bei VisualBasic gabs mal eine Norm, die glaube ich auch weitgehend mit den "normalen" Bezeichnern bei Delphi übereinstimmen.
Mir war das allerdings nur mit 3 Buchstaben bekannt, in etwa so: frm: TForm (und Abkömmlinge) lbl: TLabel btn: TButton pnl: TPanel edt: TEdit cmb: TCombobox (oder wie das Ding heißt) lst: TListBox (alternativ auch lsb, damit man es nicht mit einer Liste verwechselt) mem: TMemo |
Re: Bt=Button, Lb=Label, Ed=Edit
Es gibt verschiedene "Styleguids" und die Präfixe für die Komponenten sind häufig ein Teil davon, Google weiss da mehr, vielleicht weiss sogar die Forensuche Rat. Allerdings sind diese Guids nur als Vorschlag zu verstehen. Das kann tatsächlich jeder halten wie er will. Nur wie erwähnt: Es ist ratsam, in einem Projekt immer den selben "Style" zu benutzen.
|
Re: Bt=Button, Lb=Label, Ed=Edit
Moin Cöster,
es müssen auch nicht zwingend zwei Buchstaben sein. Oft wirst Du z.b. btn für Button, oder lbl für Label usw. finden. Was ich aber wichtig finde: Man sollte sein eigenes System auch einhalten ausser (wie mkinzler ja schon sagte), wenn man sich an ein vorgegebenes System halten muss. |
Re: Bt=Button, Lb=Label, Ed=Edit
Ich nutze diese Prefixes:
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Da mir das alles ZUU viel arbeit ist den name jeder kompo zu ändern, nutze ich die Delphi Prefixes also: TButton -> ButtonX usw.
:firejump: ein Hoch an die faulen :mrgreen: Mfg tobi |
Re: Bt=Button, Lb=Label, Ed=Edit
Ich denke, man sollte wegen der Regelmäßigkeit auf jeden Fall immer die gleiche Buchstabenzahl nehmen. 1 Buchstabe ist zu wenig, 3 sind zu viel Schreibaufwand, deswegen würde ich es ganz gerne bei 2 belassen. Aber wie unterscheidet ihr dann z.B. ComboBox und CheckBox? Cm und Ch? oder Cb bei einem?
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
mfg tobi |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Ich hoffe, du stellst deine Projekte nicht Open-Source :mrgreen: |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Mfg tobi |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Hier mal der Link zum Style Guide von Borland: ![]() |
Re: Bt=Button, Lb=Label, Ed=Edit
Moin Michael,
Zitat:
Ich für meinen Teil mache es so (Beispiel): Wenn ich ein Edit habe, hat das eine Aufgabe und es gehört mit Sicherheit ein Label / Static dazu. Dann bekommt das Edit den Namen edWasEnthalteIch, und der zugehörige StaticText dann eben stxWasEnthalteIch. Wenn man übrigens IDE-Experten wie Gexperts oder cnWizards (beide möchte ich nicht missen ;-)) verwendet, kann man sich bei der Vergabe von Prefixen für Komponenten das Leben vereinfachen. Hier gibt es die Möglichkeit für alle mögliche Kompos einen Präfix einzutragen. Sobald man eine neue Kompo auf das Formular legt, bekommt man einen Dialog, mit vorgegebenem Prefix, in den man nur noch den restlichen Namen eintragen muss. |
Re: Bt=Button, Lb=Label, Ed=Edit
Wichtig wird das vor allem bei verschiedenen TabsPages.
Ich gehe dann sogar her, und packe noch den Namen des Tabs in jedes Control auf dem Tab mit rein, damit ich da den Überblick behalte. z.B. tabWrdlbrmpft und tabTest -> btnTestOk, btnTestCancel, btnWrdlbrmpftOK, btnWrdlbrmpftCancel |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Eins ist klar - für das Programm selbst ist es vollkommen irrelevant wie die Objekte und Variablen heissen. und Leute, die penetrant auf dem Thema Styleguide rumreiten verstecken damit meistens nur ihre Unsicherheiten, was die eigentliche Entwicklung angeht. Gruß Matthias |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Bei einem Programm mit 38 Buttons frage ich mich wie du mit Button27.Click noch durchsiehst. :gruebel: |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Im normalen Alltag vieler Entwickler kommt das nämlich häufig mal vor. Würde man hier nicht auf einen Firmenintern Styleguide pochen, hat der eine seine Labels durchnummeriert, der nächste eine Textdatei wo die Bedeutung steht und wieder der nächste verwendet die Hints. An sich ist es dann ganz toll, dass jeder der die Form einer anderen Person durchgeht nicht weiß welche Funktionalität jetzt eigentlich zu welchem Button oder Edit oder oder gehört. Also ganz so sinnlos sind Styleguides nicht. Was die Leute angeht, die einfach nur schnell viel Code produzieren wollen, die haben leider keine Ahnung was Softwareentwicklung angeht. Statistisch gesehen schreibt ein Informatiker in einem Projekt mit allen anderen Arbeiten (die wichtig sind!) < 10 Zeilen Code pro Tag. Das sollte eigentlich deutlich machen wie unwichtig hier ein paar Zeichen mehr in einem Namen sind. Gruß Der Unwissende |
Re: Bt=Button, Lb=Label, Ed=Edit
Allen Faulen rate ich einen Blick auf
![]() Also ich bin sehr von diesen Tools und IDE Verbesserungen überzeugt... Testet die mal. |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
also ich poch nu mal wirklich nicht auf nen styleguide... aber buttons, labels, edits etc. gescheite namen zu verpassen find ich trotzdem nützlich!!! wo ich mit der programmierung angefangen habe, hab ich auch darauf gepfiffen wie meine felder ect. heißen und inzwischen verfluch ich die programme die ich damals geschrieben hab, und hoff das ich sie nie wieder anfassen muss... vor allem wenn man im team arbeitet find ichs wichtig das sich dann auch die kollegen in dem programm zurecht finden... und dazu gehören dann auch nu mal sprechende namen ;) |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Dabei gibt es durchaus unterschiedliche Meinungen, wie der formatierte Quelltext auszusehen hat. Das wichtigste ist aber, dass man sich in einem Team auf einen Standard einigt und diesen dann auch konsequent einhält. Das kann man durch verschiedene Tools unterstützen. Hier eine Liste von verschiedenen Coding Standards:
Da es keine Norm gibt, sondern nur Empfehlungen such Dir eine aus, komplettiere sie um die Projekt / Team spezifischen Informationen und versuch sie dann auch einzuhalten. Ich persönlich mag eine Mischung aus dem Text von Borland und dem von Econos ergänzt um einige kleine Änderungen von mir. Viel Spaß beim Lesen. |
Re: Bt=Button, Lb=Label, Ed=Edit
@ MaBuSE:
Danke für die vielen Links. Ich kannte bisher nur den von dsdt.info. An diesen Styleguide versuche ich mich auch schon zu halten. Einiges in den anderen Links fand ich ein bisschen komisch: z.B. Es soll keine Variablen mit Namen Temp geben. Da in den Präfix-Listen fast immer 3-buchstabige Präfixe aufgelistetn wurden, überleg ich mir jetzt, das auch zu ändern. Was haltet ihr denn davon, lokalen Variablen den Präfix v zu geben und globalen G, wie in einem der Links beschrieben? |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Wer jemals das Projekt eines anderen zur Weiterentwicklung übernommen hat, wird dankbar sein, wenn es leicht lesbar ist. Und dazu gehört dringend auch die Variablen-Bezeichnung. Aber selbst eigene Projekte, die man ein paar Monate nicht mehr angepackt hat, werden dadurch lesbarer. Aber jeder wie er mag... :zwinker:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Warum sollte Styleguide-Korrektes Arbeiten (und es sei dahingestellt ob du den offiziellen Borland-Styleg. oder einen eigenen nimmst) eine Unsicherheit verstecken. Du kennst doch die Leute ueberhaupt nicht die nach einem Styleguide arbeiten. Hier waere ich also vorsichtig mit solchen Behauptungen. |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Wenn du noch "dümmeres" Zeug lesen willst, dann lies dir einfach deine Beiträge durch ... Man merk sofort, dass du von Softwareentwicklung nun wirklich KEINE Ahnung hast. Styleguide-Fetischisten sind kleinkarrierte Erbsenzähler, die sich um Unwichtigkeiten kümmern anstatt sich mit dem wesentlichen der Entwicklung zu kümmern |
Re: Bt=Button, Lb=Label, Ed=Edit
Hallo,
Zitat:
Zitat:
Ich denke nicht, dass in diesem Thread das Für und Wider eines Sytyleguides diskutiert werden muss. Gruß xaromz |
Re: Bt=Button, Lb=Label, Ed=Edit
@xaromz (u. mods/admins)
sry wenns jetzt nochmal OT wird... Zitat:
@cöster ich kurz globale variablen (wenn ich sie mal brauch) mit gl ab... variablen die ich in ner prozedur verwende also die nicht global sind tu ich nicht noch extra kennzeichnen... |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
@mbamler: Arbeitest Du eigentlich in einem Team oder allein? Zahlt Dir jemand Geld für Deinen Quellcode? ...:cat:... |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Trotzdem möchte ich noch mal kurz auf den Sinn solcher Styleguides hindeuten, da wohl mbamler noch nie in einem professionellen Umfeld programmiert hat. In vielen Firmen wird in Teams an Projekten gearbeitet. Das bedeutet, es sind mehr als eine Person, die mit dem Quelltext arbeiten müssen. Oft ist auch die Fluktuation der Mitarbeiter in den Firmen recht hoch. Das bedeutet, dass die Programmierer von Quelltextpassagen oder ganzen Projekten teilweise nicht mehr in der Firma und somit auch nicht mehr ansprechbar sind. Jeder Programmierer hat seinen eigenen Programmierstil. Wenn an einem Projekt mehrere Programmier schreiben und jeder sein Ding durchzieht, wird der Code schnell unübersichtlich und die Wartung wird aufwendiger. Manchmal wird ein Projekt dann auch unwartbar. (z.B. deutsche, englische, indische und französiche Veriablennamen in der selben Anwendung. Wer soll das dann noch verstehen?) Die Styleguides geben den Programmierer Richtlinien, wie der Code auszusehen hat. Dabei ist es weniger wichtig, für welches StyleGuide man sich entscheidet. Wichtig ist dass alle im Team den gleichen StyleGuide verwenden. Und zwar durchgehend. Wir haben hier ein Team von ca. 40 Delphi Entwicklern. Wenn jeder das machen würde, was er wollte, wie kann dann das Team funktionieren. Es sind einige Grundregeln notwendig, damit sich auch die anderen Teammitglieder relativ schnell im Quelltext zurechtfinden. Man muss es ja nicht übertreiben, aber ein paar Regeln sind manchmal sehr hilfreich. Das Einhalten von StyleGuides wird in Klassenbibliotheken oder Frameworks noch wichtiger. Stell Dir mal vor Borland hätte keine StyleGuide für die VCL gehabt, dann wären solch selbstverständliche Dinge wie die Namen der Properties nicht realisiert. z.B. die Property Caption beinhaltet immer einen Text, der angezeigt wird.
Delphi-Quellcode:
ohne den StyleGuide bei der Entwicklung der VCL wäre vielleicht so was herausgekommen:
frmMain.Caption := 'Hauptformular';
lblTest.Caption := 'Test'; myComponent.Caption := 'Test';
Delphi-Quellcode:
In diesem Beispiel sieht man auch schön, dass es z.B. auch wichtig ist, sich auf eine Sprache zur Bezeichnung der Variablen zu einigen.
frmMain.Title := 'Hauptformular';
lblTest.DisplayText := 'Test'; myComponent.Ueberschrift := 'Test'; // als deutscher Programmierer sind meine Property Namen natürlich auch deutsch. Ich würde nicht verstehen, was ein Inder in indisch benamte Variablen speichert. Wenn alle Teammitglieder deutsch sind, ist es durchaus Ok Variablen in deutsch zu benamen. Aber dann bitte alle. Sobald das Team international wird, sollte man sich auf Englisch einigen. Da man nie weiß, ob das Team später international wird, werden von vielen Teams gleich alle Benamungen in Englisch gehalten. Das macht die Sache auch einheitlicher, da die VCL ja auch komplett in Englisch ist. Auch der Hobbyprogrammierer kann von den Vorteilen profitieren. Wenn er nach längerer Zeit noch mal an einem seiner Projekte etwas ändern muss, findet er sich in der Regel in einem sauber strukturiertem Quelltext besser zurecht. Wenn dann auch noch Kommentare verwendet werden, ist es fast perfekt. Man sollte es aber auch nicht übertreiben. Ich war mal in einem Team die hatten bis zu 12 Zeichen lange Präfixe vor jedem Objekt / Variable. Das finde ich übertrieben. z.B.
Delphi-Quellcode:
vparfiCount // Var PARameter einer Funktion vom typ Integer namens COUNT
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Ich bin auch einer der Faulen. Benenne maximal das Form um so wie Dinge die ich im Code wirklich OFT benötige. Anders siehts natürlich bei 'nem Kundenprojekt aus ;) aba sonst.. jo -> faul!
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Wenn man sich mal dran gewöhnt hat, gehts teilweise schon automatisch ohne nachzudenken. Es gibt ja auch viele Tools, die z.B. den Code "richtig" einrücken. Und Dir so schon mal eine Menge "Arbeit" abnehmen. (z.B. bei "fremden" Code) |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Gruß Matthias |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
Aber das kann man ja auch anders sehen: Wenn man deutsche Namen nimmt, kann man leichter unterscheiden, was von einem selber kommt und was Delphi einem zur Verfügung stellt. Außerdem kommt es dann seltener zu Namenskonflikten. |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
"Heute so, morgen anders" ist sch... Es sollte eigentlich keine Namenskonflikte geben, sonst ist etwas an Eurem Objektmodel falsch. |
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Zitat:
|
Re: Bt=Button, Lb=Label, Ed=Edit
Ich würde gerne mal meine 2ct dazu geben. Vorweg genommen: Jeder hat sein Recht auf meine Meinung und ich respektiere alle, die ungarische Notation (das sind diese lower-case Präfixe vor den Namen) verwenden. Dennoch ist dies nicht der einzige Stil, den man so verwenden kann.
Meiner Meinung nach ist ungarische Notation eher veraltet. Gute Namen drücken den SINN einer Variable aus, nicht deren Typ. So habe ich oft erlebt, dass Entwickler beim Namen ausdenken faul werden, da sie ja bereits einen Typen im Namen drin haben. Typische Namen aus ungarischer Notation wären ja z.B.: "sFile, fFile, iFileSize" etc. Durch das vorangestellt "s" lässt sich erkennen, dass es sich um einen String handelt. Also müsste "sFile" ja wohl ein Dateiname sein, wohingegegen das "f" auf "File" deutet (oder doch eher Float oder FunctionPointer?). Bessere Namen für mich wären hier:
Gut bisher hab ich nur gesagt, warum man Präfixe nicht braucht, aber ich finde sie sogar teilweise schädlich. In einer modernen objektorientierten Sprache (wie Delphi) gibt es prinzipiell eine beliebige Anzahl an Typen. Ich will ja kaum für jeden dieser Typen einen eigenen Präfix erfinden. Sehr oft läuft man in Wiedersprüche (steht "ctl" nun für TCheckedTreeList oder für TCapitalTLetter...zugegeben konstruiert :) ).. Ein weiteres Problem ist die Zusammenarbeit zwischen Komponenten. Code muss nicht nur innerhalb einer Firma zusammenarbeiten, sondern auch mit Third-Party-Componenten oder Consumern. Und will man nun seinem Consumer einen Coding-Style auferlegen (Microsoft machte das zwar mit der Win32 API so, hat aber mit .Net ja auch dazu gelegt). Für mich gibt es Ausnahmen, von der kein Präfix-davorstellen-Regel:
Wenn ich den Typen wirklich angeben MUSS, dann hinten angestellt. So heissen meine Controls z.B. "NameLabel", "NameEdit", "OKButton". Das hat nebenbei den Vorteil, dass alle Name-Controls in der Intellisense zusammen erscheinen. Muss sich jemand anders den Code anschauen, so muss er außerdem keine Abkürzungen lernen, sondern versteht sofort, um welches Control es sich handelt. Viel geschrieben...das sind irgendwie so die Ergebnisse aus langen Diskussionen in meiner Arbeit, wo ich einst selbst ein Hungarian Vertreter war... Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:43 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