Ungarische Notation und Sichtbarkeits-Präfix-Verständnisproblem



  • berniebutt schrieb:

    Da tut ihr jetzt dem Veranlasser der ungarischen Notation unrecht. War soweit ich weiss ein Mitarbeiter bei Microsoft. Die Dinge von Microsoft - wie die WinApi - wimmeln gerade von der ungarischen Notation und macht damit viele Dinge in den Beschreibungen sehr verständlich.

    Halbwissen ftw 🙂

    Hier der unvermeidliche Verweis auf die Diskrepanz zwischen "Apps Hungarian" und "Systems Hungarian", die auch im Grad ihrer Sinnhaftigkeit etwas differieren:
    http://de.wikipedia.org/wiki/Ungarische_Notation



  • Na gut, vielleicht ist alles dieses bereits Gechichte und wird nicht mehr unbedingt gebraucht. Halbwissen hin Halbwissen her, das war einmal sehr nützlich und hatte einmal etwas Ordnung in Sachen Programmierstil gebracht.

    Eine gewisse Ordnung im Programmierstil - auch bei der Namensvergabe - halte ich immer noch für mehr als sinnvoll! 🕶



  • berniebutt schrieb:

    Statt HINSTANCE hInstance kann jeder getrost HINSTANCE Emil oder was einsetzen.

    Instance instance; ist leserlicher und man muss sich nicht immer über den Typ Gedanken machen. War es jetzt hInstance oder phInstance oder lphInstance oder lpstrInstance oder nInstance????



  • Eine gewisse Ordnung im Programmierstil - auch bei der Namensvergabe - halte ich immer noch für mehr als sinnvoll! 🕶

    Ich habe irgendwie ein Déjà-vu...
    Wie oft gab es diese Diskussion schon und wie oft kam von dir immer nur dieses eine, häufig wiederlegte Argument?

    Ordnung bei der Namensvergabe kommt nicht von irgendwelchen Prä- oder Suffixen, sondern von sinnvollen, sprechenden Namen. Nexus hat glaube ich irgendwo einen Post geschrieben, der all die Nachteile der UN aufzeigt. Bitte einmal durchlesen (auch wenn es wahrscheinlich wirkungslos an dir abperlt).


  • Mod

    Dejavu schrieb:

    Wie oft gab es diese Diskussion schon ?

    136 Mal laut Forensuche 😃

    Ordnung bei der Namensvergabe kommt nicht von irgendwelchen Prä- oder Suffixen, sondern von sinnvollen, sprechenden Namen. Nexus hat glaube ich irgendwo einen Post geschrieben, der all die Nachteile der UN aufzeigt. Bitte einmal durchlesen (auch wenn es wahrscheinlich wirkungslos an dir abperlt).

    Hier:
    http://www.c-plusplus.net/forum/p1773551#1773551



  • SeppJ schrieb:

    Dejavu schrieb:

    Wie oft gab es diese Diskussion schon ?

    136 Mal laut Forensuche 😃

    Ordnung bei der Namensvergabe kommt nicht von irgendwelchen Prä- oder Suffixen, sondern von sinnvollen, sprechenden Namen. Nexus hat glaube ich irgendwo einen Post geschrieben .....

    Ja und? Nicht nur aus alter Gewohnheit (1996 oder früher) benutze ich UN weiterhin gerne, wenn auch nicht ausschliesslich. Gegen sprechende Namen ist überhaupt nichts einzuwenden, sofern es eigene Dinge sind.

    Denkt mal bitte zurück an die alten Zeiten von FORTRAN und Co., dort musste man sich bei den Namen von Bezeichnern auf 8 Stellen begnügen! Ging auch, las sich allerdings etwas kryptisch. Lasst dem Simonyi oder wer das mit UN war seinen verdienten Platz! Diese Diskussion hier scheint mir überflüssig! 😃



  • 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.

    Lasst dem Simonyi oder wer das mit UN war seinen verdienten Platz!

    Ja, früher war es sinnvoll, aber heutzutage nicht mehr.

    Diese Diskussion hier scheint mir überflüssig! 😃

    Ja, mir auch.



  • 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. 😃


  • Mod

    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


Anmelden zum Antworten