AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?
Thema durchsuchen
Ansicht
Themen-Optionen

Präfix oder Suffix - Wie haltet Ihr es mit der Namensgebung?

Ein Thema von Sherlock · begonnen am 29. Jul 2015 · letzter Beitrag vom 5. Aug 2015
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    
Dejan Vu
(Gast)

n/a Beiträge
 
#31

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

  Alt 30. Jul 2015, 08:32
Ich fänd
Delphi-Quellcode:
if bla < 0 then
  BehandleNegativ
else
  BehandleNullOderPositiv;
lesbarer, aber was weiß denn ich?
Klar und dann muss ich an 2 Stellen nachsehen was der Code eigentlich macht...
Falsch. Du musst nirgendwo nachschauen, was 'der Code eigentlich macht', denn durch die ordentliche Benennung der beiden Methoden (das hier sind keine guten Beispiele, um ehrlich zu sein) muss dich der Kleinkram doch gar nicht interessieren. Da würde dann stehen 'Wenn Guthaben < 0 (ist), dann berechne den Negativzins, ansonsten berechne den Positivzins'. Wie genau der Zins berechnet wird, muss dich beim überfliegen nicht interessieren, im Gegenteil: Um den Code zu erfassen, muss ich im CC-Ansatz weder Augen noch Maus noch Scrollrad bewegen. Bei Dir muss ich mir fitzelige Details anschauen und zum 'else'-Teil scrollen, um dann wieder zu verstehen, was der Code denn genau macht. Das dauert doch viel länger.
Zitat:
Abgesehen davon ist es in real live dann eher
Delphi-Quellcode:
if bla < 0 then
  BehandleNegativ(bla,Text,nochwas,true,index,undnochmehr)
else
  BehandleNullOderPositiv(bla,Text,nochwas,true,index,undnochmehr);
Macht alles nur unleserlich... Man verliert total den Zusammenhang...
Und daran erkennt man, das Du die Idee hinter 'sauberer Programmierung' nicht verstanden hast. Wer 'sauber' programmiert, hat diese ellenlangen Parameterlisten erst gar nicht. Eine Methode hat 1, maximal 3 Argumente, denn die Methode macht ja eh nur eine Sache. Und wenn ich doch mehrere Veränderliche habe, dann gehören die eigentlich immer zu einer Entität (X,Y => TPoint, Name,Vorname => TPerson etc.)

Zitat:
Gibt es einen der so formatiert wie die Auto-Format Routine?
Klar, wenn die richtig funktionieren würde vielleicht...
Nein, die würde nicht 'richtig' funktionieren, sondern einen Mavarik-Spezialmodus haben.

Bitte, lass uns es einfach so formulieren: Du bist einer der Programmierer, die seit Jahrzehnten seine Kunden mit funktionierender Software und gutem Service beglückt (das unterstelle ich Dir einfach mal), obwohl Du die Grundsätze moderner Softwareentwicklung ablehnst oder nicht befolgst und dein eigenes Ding durchziehst.

Ich wage zu behaupten, das Du in einem Team (außerhalb deines eigenen) nie auf Mitstreiter treffen wirst, die deinem Ansatz folgen wollen. Ich persönlich kann mir auch nicht vorstellen, das Du große Softwareprojekte stemmen können wirst, und ich meine wirklich große mit zig Millionen von Zeilen.

Aber solange Du keine gigantischen Projekte durchziehen musst und erfolgreich bist, muss Dich das alles nicht jucken.

Gute Häuser werden und wurden aus Ziegeln gebaut. Seit Jahrhunderten macht man das so. Kleine Häuser wird man damit in 50 Jahren noch bauen, aber Hochhäuser zieht man mittlerweile anders hoch und den Bau einer Stadt wird man mit diesem Ansatz einfach nicht hinbekommen. Mittlerweile kann man Häuser auch aus Fertigteilen aufstellen oder aus Styropor bauen, in einem Bruchteil der Zeit zu einem Bruchteil der Kosten. Aber man muss es nicht.
Ich benutze so eine Art umgekeht polnische Notation für meine Methodennamen,
also nicht kämmeWolle oder setzeDing.

Sondern so etwas:
Code:
Wolle_Schneiden()
Wolle_Kaemmen()
Wolle_Farbe_Get()
Das hört sich zwar womöglich unlogisch an, hilft aber die Methoden und Variablen sauber zu sortieren, so das oft schon im Namen eine Art "Klasse" entsteht.
Und was hält dich davon ab, eine Wolle-Klasse zu erstellen?
Zitat:
Und ich setze sehr lesbare, lange Namen ein die möglichst gut die Funktion beschreiben.
Mir graust es von den Verkürzlern, die so etwas in der Art produzieren:
Code:
vf:=dx+k*24modr;
Sx(vf, -k, -r);
vt:=vf+k; k:=23; dx:=k*17+vx;
C-Programmierer sind dafür bekannt, zu vkzn, wsng. ("Wo es nur geht" :mrgreen)

Wir sollten uns mal ein paar einfache Probe-Aufgaben ausdenken und dann schauen wer es am schönsten löst.
Sehr gute Idee.

Siehe hier: http://www.delphipraxis.net/186051-c...ml#post1310261

Geändert von Dejan Vu (30. Jul 2015 um 09:03 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#32

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

  Alt 30. Jul 2015, 08:50
"Falsch" ... "Du hast es nicht verstanden" ... "lehnst Grundsätze moderner Softwareentwicklung ab"
Meine Güte ...

Dass erwachsene (?) Männer (? ) es tatsächlich schaffen, sich beim Thema "Wie formatiere ich meinen Quellcode" auch im Jahr 2015 noch gegenseitig ans Bein zu pinkeln, ist erstaunlich. Dass diese perfide Freude daran besteht, den anderen zu piksen ist bedauerlich, lässt aber interessante Spekulationen über den jeweiligen Menschen zu.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#33

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

  Alt 30. Jul 2015, 09:10
Daniel, das Du hinter jedem meiner Worte einen präpubertären Angriff vermutest, ist hinlänglich bekannt, wobei die Anspielung auf die fehlende Reife, das Geschlecht und den Charakter genau das Niveau unterbietet, das Du hier meinst, zu sehen.

Ich betone in jedem zweiten Satz, das Mavarik (und andere) durchaus gute Entwickler sind. Nur wenn man über ein Fachthema diskutiert ('Clean Code', SOLID, die sog. Prinzipien der modernen Softwareentwicklung... das sind sie nun einmal), darf man erwähnen, das der 'andere' etwas nicht verstanden hat. Es gehört nun einmal zu einem Diskurs, das man nicht alles weiß und dann darauf hingewiesen wird.

Ich verstehe vieles auch nicht und wenn ich darauf hingewiesen werde, dann freue ich mich, etwas dazulernen zu können. Nichts ist überflüssiger, als aneinander vorbeizureden, weil man sich nicht versteht.

Lass uns einfach zum Thema zurückkehren, das nicht Clean-Code hieß, sondern 'wie benennt ihr eigentlich eure Variablen, Bezeichner etc.' (sinngemäß zumindest).

Geändert von Dejan Vu (30. Jul 2015 um 09:16 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#34

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

  Alt 30. Jul 2015, 09:24
Meine Vermutung der fehlenden Reife wird regelmäßig auf's Neue untermauert, da kann ich nichts dafür.
Und es ist genau die perfide Diskussionshaltung, die ich Dir vorwerfe: In einem Satz spricht Du Deinem Gegenüber offen die Kompetenz ab, um dann im (oben erwähnten) zweiten Satz, nonchalant von einem "durchaus guten Entwickler" zu sprechen. Und das soll ich Dir jetzt zu Deinen Gunsten auslegen?
Es ist Deine Art zu diskutieren, deretwegen Du auch schon einmal aus dem Forum geflogen bist. Aber es ist schön, dass der Wunsch, zum Thema zurück zu finden, nun auch von Dir geäußert wird.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#35

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

  Alt 31. Jul 2015, 09:31
Hallo,

nachdem ich alle Beiträge durchgelesen und dabei auch einige Anregungen gefunden habe, hier mal mein Senf zu diesem Thema. Weil es unterschiedliche Ansichten gab, was der TE grundsätzlich wollte, z.B. Daniel in #14, schlage ich mal rundum:

A vor Parametern ("Argument"): Ja
T vor Typbezeichnern ("TMyClass"): Ja
P vor Pointer-Typen: Ja
I vor Interface-Typen: Ja
F vor Klassen/Record-Feldern: Ja

Ein FormName beginnt immer mit dem Präfix "Frm", z.B. "FrmKunden". Ist es ein Hauptformular heißt die Unit "Main_Kunden.pas", ist es ein modaler Dialog entsprechend "Dlg_Kunden.pas". Bei DB-Anwendungen heißt die entsprechende Datenmodul-Unit "Dat_Kunden.pas". Die Interface-Procedure zum Anzeigen eines Formularess (ich erzeuge generell alle Formulare zur Laufzeit) ist zusammengesetzt aus dem Unit-Namen und einem "_Show", also "Main_Kunden_Show" bzw. "Dlg_Kunden_Show".

Namensgebung bei Komponenten mit 2-stelligem Präfix
cb ComboBox
ck CheckBox
lb Label
lv ListView
ed TEdit . . . usw.
gefolgt vom Variablen-Bezeichner
z.B. eine CheckBox ändert die FormVariable "FUserIsLocked" dann cbFUserIsLocked oder eine TDBCheckBox für das Datenfeld "NUMMER" heißt dann eben cbNUMMER.

Mein wichtigstes Argument für Präfixe - deren Vorliebe ich aufgrund der bisherigen Antworten anscheinend nur mit dem Kollegen "bernau" aus #10 teile:
Zitat:
Ich mag es, wenn ich in der Klasse sortieren kann und alle Edits beisammen habe
Es ist einfach sehr praktisch beim späteren Lesen des Quellcodes, wenn alle Formular-Events schön beieinander sind, und das erledigt dann die IDE so nebenbei automatisch wie gewünscht. Zu dem Thema hat es ja schon einige Diskussionen gegeben.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#36

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

  Alt 31. Jul 2015, 13:15
Da ich mir das CN-Pack installiert habe, werden bei Komponenten auf der Form diese gleich automatisch umbenannt.
Checkbox -> chkBlablabla
Edit -> edtBLablabla
Listbox -> lstBlablabla

Der Vorteil: in der CodeCompletition kann ich chk schon mal auf alle Checkboxen einschränken. Der Datentyp ist dabei ja auch schon irgendwie klar.

Diese Schreibweise ist bei mir dann irgendwann mal in Fleisch und Blut übergegangen.

Ansonsten
Klassen TBlabla
Pointer PBlabla
Klassenvariablen FBlaBla

Das voranstellen des Datentyps mache ich nur in lokalen Verablen iBlabla für Integer, sBlabla für String, usw.

Ansonsten verwende ich nach Möglichkeit Namen, die die Funktion oder den Inhalt dahinter möglichst klar benennen z.B. Function GetIndexOfPhonenummer(...)

Alles andere hole ich mir über die Möglichkeiten, die mir die IDE zur Verfügung stellt, wenn ich weitere Info's brauche.
Solange ich den Code für mich schreibe, komme ich damit sehr gut klar, auch nach Jahren.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#37

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

  Alt 31. Jul 2015, 13:54
Bei der Bezeichnung der Formulare mache ich es mir ganz einfach:

Die MainForm-Klasse heißt TMainForm und liegt in der Unit Forms.MainForm .
Eine Dialog-Form heißt TFooDialog in der Unit Dialogs.FooDialog .

Man könnte somit sagen, der Name folgt der Funktion
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#38

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

  Alt 31. Jul 2015, 15:03
Die MainForm-Klasse heißt TMainForm und liegt in der Unit Forms.MainForm .
Eine Dialog-Form heißt TFooDialog in der Unit Dialogs.FooDialog .

Man könnte somit sagen, der Name folgt der Funktion
Macht halt jeder so, wie er zurecht kommt. Bei größeren Projekten muss man halt dann "eventuell" mit kleinen Einschränkungen leben. Beispiel: Wenn ich meine App mit derzeit 18 Modulen nehme und dazu einen Modulstarter der vor dem Start mit FindWindow() schaut, ob das Modul bereits läuft, muss man schon über die Caption gehen, und nicht mehr über die Fensterklasse. Auch beim Versenden von Messages an die eigenen Apps/Module wird's ein bisserl schwieriger.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#39

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

  Alt 31. Jul 2015, 15:36
Ich würde dafür niemals die Caption der Form nehmen.

Dafür gibt es etwas OOP-konformes: TObject.Equals( Obj: TObject );
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#40

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

  Alt 31. Jul 2015, 17:06
Wir reden aneinander vorbei. Das nützt dir halt leider nichts, wenn mehrere Instanzen (Module) mit derselben Klasse "TMainForm" am Laufen sind

BTW Was glaubst du wieviel "TForm1" von fremden Anwendungen ich auf meinem PC finde? Da sieht man dann sofort, wo Delphi-Programmierer am Werk waren
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 Uhr.
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