AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Konstantenlänge

Ein Thema von hanspeter · begonnen am 12. Okt 2010 · letzter Beitrag vom 12. Okt 2010
Antwort Antwort
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:09
Hi,

und ich gebe dir damit recht. Ich empfinde das persönlich auch als bescheiden lesbar, sobald die Konstante irgendwo im Code, zB einer if-Abfrage, benutzt wird. Lediglich bei der Deklaration ist das schön, weil absolut eindeutig.
Ich denke, dass ich schon Konstanten mit recht langen Namen vergebe, meine "Schmerzgrenze" liegt so bei ca 30Zeichen.

Großschreibung und Unterstriche nutze ich allerdings auch!

Gruß
Ansgar
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#2

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:29
Konstanten eines bestimmten Bereichs werden bei mir in jeweils einer Unit zusammengefasst.
Die Namen bischen kürzen und schon ist es lesbar.
Delphi-Quellcode:
unit BENUTZER_EINSTELLUNG_VISUALISIERUNG_PLANUNG;

interface

const
  VIRTUELLE_AUFTRAEGE_EINBEZIEHEN = 123;
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:32
Was für die Namen von Variablen gilt, sollte auch für Konstanten gelten: möglichst kurz und aussagekräftig
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  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
 
#4

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:38
Ansonsten mit ein wenig englisch
Code:
USER_SET_VIS_PLAN_INCLUDEVIRTUALORDER
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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:57
Konstanten schreibe ich grundsätzlich mit Großbuchstaben, damit ich sie von Variablen unterscheiden kann. Und diese langen Bezeichnungen sind eher kontraproduktiv, da sie man nicht mit einem Blick erfassen kann. Und was sollen das für lange Zeilen werden, wenn sie im Code verwendet werden?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Konstantenlänge

  Alt 12. Okt 2010, 10:24
Ich halte es mal mit Martin Fowler, welcher meinte:

- Je größer der Scope einer Variablen / Konstanten / Funktion umso aussagekräftiger (und damit einhergehen auch umso länger) sollte der Name sein. -
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#7

AW: Konstantenlänge

  Alt 12. Okt 2010, 10:33
Eigntlich sollte es eher so sein:
aussagekräftig/verständlich und dennoch möglichst kurz und übersichtlich

- je länger etwas ist, umso länger braucht man für das verstehen/erkennen

- sind die Namen nicht aussagekräftig genug, dann weiß man nicht worum es geht
(und müßte eventuell erst irgendwo nachlesen, worum es geht, falls es überhaupt irgendwo erwähnt wurde)

Zitat von Luckie:
Und was sollen das für lange Zeilen werden, wenn sie im Code verwendet werden?
siehe mein letzer Post
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#8

AW: Konstantenlänge

  Alt 12. Okt 2010, 12:58
Jedoch graust es mich schon, Konstanten zu nutzen, die länger als dieses hier sind ...
Nicht umsonst gibt es die Codevervollständigung.

Ich habe nicht den Eindruck, das
Delphi-Quellcode:
const
  BENUTZER_EINSTELLUNG_VISUALISIERUNG_PLANUNG_VIRTUELLEAUFTRAEGEMITEINBEZIEHEN = 123;
besonders sprechend ist. Das ist irgendwie der Namensraum mit in den Konstantennamen geschrieben.

Wie wäre es denn mit einer Unit BenutzerEinstellungVisualisierungPlanung, in der die Konstante VIRTUELLE_AUFTRAEGE_EINBEZIEHEN zu finden ist. In der Unit könnten dann alle Konstanten liegen, die im Moment mit BENUTZER_EINSTELLUNG_VISUALISIERUNG_PLANUNG_ beginnen.

Sollte die Konstante allerdings nur in einer Unit benötigt werden, die sich mit Visualisierung der Planung befasst, dann könnte man sich doch auf BENUTZER_VIRTUELLE_AUFTRAEGE_EINBEZIEHEN einigen.

@Himitsu:
Man muss ja nicht alles in eine Zeile schreiben:
Delphi-Quellcode:
MeineMachDiesesUndJenesProzedur(
    DerErsteParameterMitDenEinstellungen,
    BENUTZER_VIRTUELLE_AUFTRAEGE_EINBEZIEHEN,
    BENUTZER_VIRTUELLE_AUFTRAEGE_EINBEZIEHEN);
Außerdem wäre schon eine Funktion mit mehr als 2 Parametern suboptimal
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.303 Beiträge
 
Delphi 12 Athens
 
#9

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:36
Ich finde komplette Grossschreibung sehr unleserlich. Ich verwende Grosskleinschreibung ohne Unterstriche.

IchBinEineVariableOderEineKonstante

finde ich besser lesbar als

ICH_BIN_EINE_VARIABLE_ODER_EINE_KONSTANTE

Ist aber letztendlich Geschmacksache. Maximale Länge ist ca. 40 Zeichen.

Grade bei Zahlen, mit denen auch gerechnet wird, halte ich die Bezeichner kurz, weil damit ja auch gerechnet wird. Man stelle sich eine Formel vor, die 5 Variablen mit je einer Länge von je 70 Zeichen hat. Völlig unleserlich.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.316 Beiträge
 
Delphi 12 Athens
 
#10

AW: Konstantenlänge

  Alt 12. Okt 2010, 09:36
Also im Prinzip ist alles über der halben "Bildschirmbreite" (standardmäßig so 80-120 Zeichen) unleserlich, denn man muß ja bedenken,
daß diese Konstantan auch irgendwo verwendet werden und wenn man nun 2 Konstantan an eine Prozedur übergibt, dann sollten die Einrückung,
Leerzeichen, Prozedurname UND diese Konstanten in eine Zeile passen.

Außerdem haben zu lange Konstantennamen, auch wenn sie "sprechender"/verständlicher und übersichtlicher zu scheinen mögen,
dennoch einen unübersichtlich Beigeschmack.
MeineMachDiesesUndJenesProzedur(DerErsteParameterMitDenEinstellungen, BENUTZER_EINSTELLUNG_VISUALISIERUNG_PLANUNG_VIRTUELLEAUFTRAEGEMITEINBEZIEHEN, BENUTZER_EINSTELLUNG_VISUALISIERUNG_STEUERUNG_VIRTUELLEAUFTRAEGEMITEINBEZIEHEN); .
Oder sieht hier jemand auf die Schnelle, was hier gemacht wird?
Man stelle sich alles in einer Zeile vor und versuche möglichst schnell den Unterschied zwischen den fast gleich
klingenden Konstanten zu finden, denn je mehr Zeichen, umso weniger fallen kleine Unterschiede auf.
MachDieses(Parameter, VIRT_BEN_PLAN, VIRT_BEN_STRG); .
Im Notfall kann man bei der Deklaration und/oder in der Dokumentation
eine ausführlichere Beschreibung zur Konstante angeben.

Ansonsten nehm ich persönlich für Typen, Prozeduren, Variablen und Konstanten CamelCase,
jenachdem mit einem passenden Präfix. (für Typen T und passend dazu das P und für Konstanten meist ein c)

Diese ALLES_GROß_MIT_UNTERSTRICH-Variablen nutze ich eigentlich nur bei APIs,
wo diese Konstanten irgendwo dokumentiert sind, um keine doppelten (verwirrenden) Bezeichner zu bekommen.
Denn hier *_VIRTUELLEAUFTRAEGEMITEINBEZIEHEN hab ich immer Probleme dieses
zu lesen und vorallem schnell zu verstehen, da es keine Übergänge gibt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (12. Okt 2010 um 09:47 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:20 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 by Thomas Breitkreuz