Ungarische Notation und Sichtbarkeits-Präfix-Verständnisproblem
-
Dejavu schrieb:
Nicht nur aus alter Gewohnheit (1996 oder früher) benutze ich UN weiterhin gerne, wenn auch nicht ausschliesslich.
Irgendwie hätte ich am Ende dieses Satzes ein Argument für die UN erwartet. Wenn du es nicht nur aus alter Gewohnheit benutzt, muss es ja noch einen anderen Grund geben.
Das Ende dieses Satzes hatte ich doch schon mitgeteilt. Weil viele von Microsoft stammende Bibliotheken wie die WinApi die UN unverdrossen als Schnittstelle benutzen. Warum sollte ich die MS-spezifischen Bennungen wesentlich ändern? Da ist immerhin schon in der Namensgebung ein klares verständliches Konzept zu erkennen.
-
berniebutt schrieb:
Das Ende dieses Satzes hatte ich doch schon mitgeteilt. Weil viele von Microsoft stammende Bibliotheken wie die WinApi die UN unverdrossen als Schnittstelle benutzen. Warum sollte ich die MS-spezifischen Bennungen wesentlich ändern? Da ist immerhin schon in der Namensgebung ein klares verständliches Konzept zu erkennen.
UN ist kein Teil der Schnittstelle der zB WinAPI oder MFC.
-
Es wurde außerdem ja bereits auf den Umstand hingewiesen dass das was man heute gemeinhin unter "ungarischer Notation" versteht eben genau nicht das ist was sich Charles Simonyi dabei gedacht hat...
-
Bezeichner mit sprechenden Namen zu belegen ist wohl im großen und Ganzen immer noch die beste Methode.
Kann man den Zweck schon aus dem Bezeichner ableiten, bedarf es selten einer Typangabe im Namen, eigentlich nicht mal einer Typisierung. Erleichtert Les- und Wartbarkeit - "the code is the comment".
-
'i' ist bei mir ein Index oder eine Laufvariable, nicht 'dwNummerAufEinElementInMeinemLieblingsArray'.
C ist kurz, knapp und präzise - das schätze ich daran
-
ist das eine Antwort auf mich? falls ja:
eine Indexvariable "i" zu nennen, widerspricht dem Prinzip der "sprechenden Namen" ja nicht, solange a) jeder erkennen kann, daß i als Indexvariable dient und b) der Wirkungsbereich von i kurz genug ist, um den Zweck auf einen Blick zu erkennen - zB paar Codezeilen innerhalb einer Methode oder Funktion.
- das geht nicht nur in C
-
berniebutt schrieb:
Weil viele von Microsoft stammende Bibliotheken wie die WinApi die UN unverdrossen als Schnittstelle benutzen. Warum sollte ich die MS-spezifischen Bennungen wesentlich ändern? Da ist immerhin schon in der Namensgebung ein klares verständliches Konzept zu erkennen.
MS selbst rät inzwischen von der verwendung der so genannten "UN" ab.
-
!rr!rr_. schrieb:
Bezeichner mit sprechenden Namen zu belegen ist wohl im großen und Ganzen immer noch die beste Methode.
Kann man den Zweck schon aus dem Bezeichner ableiten, bedarf es selten einer Typangabe im Namen, eigentlich nicht mal einer Typisierung. Erleichtert Les- und Wartbarkeit - "the code is the comment".
ack
-
Jodocus schrieb:
Im Zeitalter von VS2010 und "Search for Declaration" mMn nicht mehr nötig.
Ist das Feature etwa neu in 2010? ^^
-
Jetzt sind wir von UN bei sprechenden Namen angelangt. Auch gut! Auch dort kann man sich einige Regeln auferlegen wie z.B. mit dem Gebrauch der Gross- und
Kleinschreibung. Wer globale und lokale Bezeichner gleich wählt, kann trotz sprechender Namen schnell den Überblick verlieren. Das geht jetzt aber in die Richtung Programmierstil und wäre ein gesondertes Thema!Ich sage es mal etwas deftig: Scheissegal, Hauptsache das Programm läuft sauber, der Programmentwickler findet sich selbst darin zurecht und jemand anders kann den Sourcecode lesen und ohne den Programmentwickler das Programm pflegen, wenn dieser die Firma verlassen hat.
-
berniebutt schrieb:
Ich sage es mal etwas deftig: Scheissegal, Hauptsache das Programm läuft sauber, der Programmentwickler findet sich selbst darin zurecht und jemand anders kann den Sourcecode lesen und ohne den Programmentwickler das Programm pflegen, wenn dieser die Firma verlassen hat.
Eben!
Und welcher Variablenname hilft wohl besser beim Durchschauen von Sourcecode: Number_of_XXX oder icXXX?
-
SeppJ schrieb:
Und welcher Variablenname hilft wohl besser beim Durchschauen von Sourcecode: Number_of_XXX oder icXXX?
Beides gleich wenig, ohne das XXX zu kennen. Und wenn man nicht eine zweite Sprache (hier UN) lernt, weiß man mit ic garnichts anzufangen. Ich nehme an, weil ich vor langer Zeit mit UN gearbeitet habe das i für ein Integer steht, aber ic kann ich nicht ableiten.
Einen Index nenne ich übrigens inzwischen recht häufig tatsächlich "index" (finde ich lesbarer), sofern ich nicht in alte Gewohnheiten zurück verfalle...
-
SeppJ schrieb:
Und welcher Variablenname hilft wohl besser beim Durchschauen von Sourcecode: Number_of_XXX oder icXXX?
Strohmann-Argument. In Apps Hungarian wäre das nXXX, und das benutze ich beispielsweise desöfteren. Sogar seitdem ich weiß, dass das ungarisch ist :p
-
Bashar schrieb:
Strohmann-Argument. In Apps Hungarian wäre das nXXX, und das benutze ich beispielsweise desöfteren. Sogar seitdem ich weiß, dass das ungarisch ist :p
Ändert nichts daran, das man erst einmal wissen muss, was n bedeutet, damit dies Sinn ergibt. Das schönste ist ein Code den jeder sinnvoll lesen kann, auch neue Entwickler.
-
Bashar schrieb:
... Sogar seitdem ich weiß, dass das ungarisch ist :p
Dann sage ich einfach mal auf ungarisch: 'bassza meg' und 'kurva'. Höre ich jeden Tag auf der Strasse.
-
asc schrieb:
Ändert nichts daran, das man erst einmal wissen muss, was n bedeutet, damit dies Sinn ergibt. Das schönste ist ein Code den jeder sinnvoll lesen kann, auch neue Entwickler.
Nö, muss man gar nicht wissen. Ich könnte die Variable auch karlheinz nennen und man könnte sich erschließen, wozu sie da ist, aber ich bevorzuge sprechende Namen. Und "nEvents" ist ein brauchbarer Kompromiss zwischen "Number_of_Events", was SeppJ anscheinend präferiert, und irgendwas, wo "number" nicht mehr drin vorkommt.
-
Bashar schrieb:
Und "nEvents" ist ein brauchbarer Kompromiss zwischen "Number_of_Events", was SeppJ anscheinend präferiert, und irgendwas, wo "number" nicht mehr drin vorkommt.
eventCount? ;p
-
asc schrieb:
Bashar schrieb:
Und "nEvents" ist ein brauchbarer Kompromiss zwischen "Number_of_Events", was SeppJ anscheinend präferiert, und irgendwas, wo "number" nicht mehr drin vorkommt.
eventCount? ;p
Eben nicht. Es besteht ein semantischer Unterschied zwischen einem Zähler und einer Anzahl.
-
SeppJ schrieb:
Eben nicht. Es besteht ein semantischer Unterschied zwischen einem Zähler und einer Anzahl.
Aber count heißt Anzahl, Zähler ist counter.
-
Bashar schrieb:
SeppJ schrieb:
Eben nicht. Es besteht ein semantischer Unterschied zwischen einem Zähler und einer Anzahl.
Aber count heißt Anzahl, Zähler ist counter.
edit: Das sagt mein Englischbuch aber anders:
http://dict.leo.org/ende?lp=ende&lang=de&searchLoc=0&cmpType=relaxed§Hdr=on&spellToler=&search=count
http://dict.leo.org/ende?lp=ende&lang=de&searchLoc=0&cmpType=relaxed§Hdr=on&spellToler=&search=anzahl