Delphi-PRAXiS
Seite 3 von 3     123   

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)

Der schöne Günther 20. Okt 2016 20:58

AW: Welche Art Notation wendet ihr an?
 
Zitat:

Zitat von einbeliebigername (Beitrag 1351490)
Also wenn ich bei dir darauf kommen würde, dass du ein Postfix anhängst, würde ich bei userInputEdit verstehen, dass es ein Eingabefeld user gibt was vom Typ TInputEdit ist. Na, vieleicht gibt es ja auch ein TOutputEdit. Aber was vom user soll der Benutzer da eingeben? Den Kopf, den Arm, ...? Man soll ja Menschen leben lassen! Jeder hat seine eigenen Vorstellungen und Ansichten!

Wie Uwe schon gesagt hat ist es im Endeffekt relativ egal ob es nun ein
Delphi-Quellcode:
TEdit
, ein
Delphi-Quellcode:
TLabeledEdit
, ein
Delphi-Quellcode:
TSpinEdit
oder etwas anderes ist. Es ist ein Edit-Ding für den User-Input.

Ich glaube du nimmst das Beispiel auch zu sehr auseinander. Entweder hätte man eine noch sehr überschaubare Anzahl (z.B. drei) wie
Delphi-Quellcode:
firstNameEdit
,
Delphi-Quellcode:
secondNameEdit
und
Delphi-Quellcode:
birthdayDatepicker
, oder man fasst die einzelnen Komponenten nicht mehr an denn man hat einen Frame der das kapselt:

Delphi-Quellcode:
TCredentials = record
  firstName: String;
  lastName: String;
  birthDay: TDate;
end;
TCredentialsFrame = class(TFrame)
[...]
  public property Credentials: TCredentials read getCredentials write setCredentials;
end;
Aber wir entfernen uns glaube ich immer weiter von der eigentlichen Frage der Ungarischen Notation.

einbeliebigername 20. Okt 2016 22:43

AW: Welche Art Notation wendet ihr an?
 
Hallo,

Zitat:

Zitat von Der schöne Günther (Beitrag 1351568)
Wie Uwe schon gesagt hat ist es im Endeffekt relativ egal ob es nun ein
Delphi-Quellcode:
TEdit
, ein
Delphi-Quellcode:
TLabeledEdit
, ein
Delphi-Quellcode:
TSpinEdit
oder etwas anderes ist.

Das sehe ich ja auch so. Ich verwende für die verschiedenen Edit-Komponenten mittlerweile auch dasselbe Prefix.

Zitat:

Zitat von Der schöne Günther (Beitrag 1351568)
Ich glaube du nimmst das Beispiel auch zu sehr auseinander.

Nein ich hatte doch schon geschrieben, dass ich das bewusst übertrieben falsch Interpretiert habe. Ich habe dich nur als Beispiel genommen um was auszudrücken.

Zitat:

Zitat von Der schöne Günther (Beitrag 1351568)
Entweder hätte man eine noch sehr überschaubare Anzahl (z.B. drei) wie
Delphi-Quellcode:
firstNameEdit
,
Delphi-Quellcode:
secondNameEdit
und
Delphi-Quellcode:
birthdayDatepicker
, oder man fasst die einzelnen Komponenten nicht mehr an denn man hat einen Frame der das kapselt:

Nein das ist es nicht was ich meine. Es ging und geht mir nur um die Art und Weise wie du deine Bezeichner schreibst. Ich habe jetzt verstanden das du diese so schreibst:
Delphi-Quellcode:
firstNameEdit
und
Delphi-Quellcode:
firstNameLabel
. Dabei ist
Delphi-Quellcode:
firstName
der wichtige Teil des Bezeichners und
Delphi-Quellcode:
Edit
bzw.
Delphi-Quellcode:
Label
bei dir das Anhängsel. Habe ich das so richtig erfasst? In meinen XE8 gibt es leider keine TDatepicker-Komponenten sondern nur eine TDateTimePicker, deshalb nehme ich jetzt zu Erklärung diese. Dann würde ich der Logik wegen bei deinem
Delphi-Quellcode:
birthday
erwarten, dass die zugehörigen Komponenten
Delphi-Quellcode:
birthdayDateTimePicker
und
Delphi-Quellcode:
birthdayLabel
heißen. Und wenn es ein
Delphi-Quellcode:
firstWorkDay
gäbe, dann
Delphi-Quellcode:
firstWorkDayDateTimePicker
und
Delphi-Quellcode:
firstWorkDayLabel
. Richtig?

Mir würde da die klar erkennbare Trennung zwischen dem wichtigen aussagekräftigen Teil und dem eigentlich nicht benötigten Anhängsel fehlen.

Zitat:

Zitat von Der schöne Günther (Beitrag 1351568)
Delphi-Quellcode:
TCredentials = record
  firstName: String;
  lastName: String;
  birthDay: TDate;
end;

Du schreibst wirklich den Anfangsbuchstaben der Bezeichner klein oder gibt es da bei dir eine Regel?

Zitat:

Zitat von Der schöne Günther (Beitrag 1351568)
Delphi-Quellcode:
TCredentialsFrame = class(TFrame)
[...]
  public property Credentials: TCredentials read getCredentials write setCredentials;
end;

Weil das Property hast du mit groß begonnen. Aber Setter und Getter wieder klein. Und die Anhängsel an Setter/Getter stehen vorn. Oder schreibst du deine Bezeichner dem Klang nach?

Zitat:

Zitat von Der schöne Günther (Beitrag 1351568)
Aber wir entfernen uns glaube ich immer weiter von der eigentlichen Frage der Ungarischen Notation.

Ich hoffe nicht. Ich bin der Meinung, dass es dem TE genau um die Art und Weise geht, wie man seine Bezeichner schreibt.

Ich hätte nicht so faul sein sollen und mir mal den verlinkten Wiki-Artikel durchlesen. Gänzlich habe ich das jetzt auch nicht gemacht. Aber bei weiter Auslegung gehe ich doch nach der Ungarischen Notation vor, bloß das ich keine Typinformationen im Prefix und die Sichtbarkeit mit der Art in einem Teil zusammengefasst habe und ich immer einen aussagekräftigen Namen ans Prefix hänge. Nur, wie in dem Artikel erwähnt, mit den reinen Prefixen, wenn auch nur zum Teil, zu programmieren, würde bei mir zum Wahnsinn führen.

@Der schöne Günther: Nur weil es mich interessiert. Wärst du so freundlich mal mein
Delphi-Quellcode:
TMyClass
-Beispiel so umzuformatieren, dass man erkennt wie du da deine Bezeichner schreiben würdest.

einbeliebigername.

Uwe Raabe 20. Okt 2016 23:51

AW: Welche Art Notation wendet ihr an?
 
Zu dem Thema gibt es einen etwas länglichen, aber interessanten Artikel von Joel Spolski: Making Wrong Code Look Wrong.
Für den eiligen Leser empfiehlt sich der direkte Sprung zu dem Abschnitt mit der Überschrift I’m Hungary. Die Kernaussage dort ist in etwa diese (zur Info: Charles Simonyi ist der Erfinder der Hungarian Notation):

Zitat:

In Simonyi’s version of Hungarian notation, every variable was prefixed with a lower case tag that indicated the kind of thing that the variable contained.
For example, if the variable name is rwCol, rw is the prefix.
I’m using the word kind on purpose, there, because Simonyi mistakenly used the word type in his paper, and generations of programmers misunderstood what he meant.
Zitat:

In Excel’s source code you see a lot of rw and col and when you see those you know that they refer to rows and columns. Yep, they’re both integers, but it never makes sense to assign between them. In Word, I'm told, you see a lot of xl and xw, where xl means “horizontal coordinates relative to the layout” and xw means “horizontal coordinates relative to the window.” Both ints. Not interchangeable.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 Uhr.
Seite 3 von 3     123   

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