Ungarische Notation und Sichtbarkeits-Präfix-Verständnisproblem
-
'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
-
Und?
-
Bashar schrieb:
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.
Klar muss man es wissen. Der Unterschied ist bloss, wie man es erfährt. Wenn der Name der Variable ausreicht um draufzukommen, dann spart das Zeit & Nerven. Wenn man es aus dem Kontext ableiten muss, ist das wesentlich mehr Denk-Aufwand, und lenkt dadurch von der eigentlichen Aufgabe ab: zu verstehen was der Code tut btw. tun sollte.
Und "nEvents" ist ein brauchbarer Kompromiss zwischen "Number_of_Events", was SeppJ anscheinend präferiert, und irgendwas, wo "number" nicht mehr drin vorkommt.
Das ist Ansichtssache, ich finde z.B. nicht dass das ein brauchbarer Kompromiss ist, da ich beide Variante schlecht finde, und den Kompromiss genau so.
Meine persönliche Meinung:
Das Ding ist keine Sammlung von Events, endet aber im Wort "Events" -> schlecht, da es sich mit der natürlichen Sprache schlägt (sowohl Englisch als auch Deutsch).
Bei zusammengesetzten Hauptwörtern kommt immer das was das Ding eigentlich ist am Schluss. Fluchtgeschwindigkeit, Chefsekretärin, Speisewagen etc. Im Englischen schreibt man diese Dinge getrennt, die Reihenfolge ist aber gleich (escape velocity etc.).
Natürlich kann man die Reihenfolge umdrehen, nur führt das zu komplizierteren Konstrukten. Chefsekretärin geht ja noch - Sekretärin vom Chef. Aber versuch das mal mit Fluchtgeschwindigkeit oder Speisewagen. Hmja.
Und ganz besonders schlimm finde ich es dann, wenn man anfängt das eigentlich wichtige, was nach dem umdrehen dann vorne steht, abzukürzen. "Meine Freundin arbeitet als sekChef." WTF???
----
Zurück zu "nEvents" bzw. "Number of Events". Dass ich beides nicht gut finde, sollte jetzt klar sein
Also wie soll es heissen? Was ist das Ding? Es ist eine Anzahl. Auf english wäre das "number (of)", das stimmt schon, bloss kann man "number (of)" leider nicht hinten anhängen. "event number" heisst nicht "Event-Anzahl", sondern "Event-Nummer", und das hat ne andere Bedeutung.
Also bedient man sich des Wortes "count", das im Englischen nachgestellt werden kann. Also "event count". Das bedeutet dann wieder "Event-Anzahl", und alles ist gut.
Jetzt sind wir wieder beim Thema "count heisst aber Zähler". Tjoa. Count heisst aber nicht Zähler, count heisst Zählstand, Zählimpuls etc. bzw. auch einfach "Zahl". Und das passt eigentlich ganz gut (Zählstand und Anzahl sind ja sehr eng verwandt).
-
Bashar schrieb:
Und?
Naja, number und count heißt was anderes und daher würde ich in einem Programm auch eine andere Bedeutung erwarten. Bei Count_of_events (in welcher Schreibweise auch immer) würde ich etwas Erwarten was bei jedem Event um 1 erhöht wird. Bei number_of_events würde ich irgendeine Gesamtzahl erwarten, also etwas das nicht mehr erhöht wird. Macht im Zusammenhang mit Events natürlich nicht so viel Sinn. Etwas wie Number_of_events_in_the_last_minute wäre eine Möglichkeit.
-
SeppJ schrieb:
Bashar schrieb:
Und?
Auf der von dir verlinkten Seite stand als Übersetzung für count "Zahl". "Anzahl" nicht, und damit hab ich unrecht und du recht. Halte ich nur für Haarspalterei und völlig am Thema des Threads vorbei.