Ungarische Notation



  • Hey,

    kann mir jemand sagen, warum man laut MSDN die ungarische Notation meiden soll?

    Do not use Hungarian notation.
    

    Ich persönlich sehe darin nur Vorteile. Oder ist die Aussage nur auf die .NET-Programmierung bezogen?

    Grüße,
    Rewind.



  • Da hast du ein echtes Streit-Thema getroffen 😃

    Meine Meinung dazu: Es gibt zwei Arten von ungarischer Notation:
    Apps Hungarian (die ursprüngliche Version) kennzeichnet den Verwendungszweck der Variablen durch entsprechende Kürzel. Sowas halte ich für nützlich, wobei man dann die Kürzel vermutlich nach Anwendungsbereich definieren muß.
    Systems Hungarian (das was die meisten Leute daraus gemacht haben) kennzeichnet den Variablentyp. Das ist nutzlos und der Grund, warum das Ganze in die Kritik geraten ist.



  • hab mir die Nachteile auf Wiki durchgelesen. Manchen Kritikpunkten stimme ich zu, aber wenn man nicht alle Variablen im Kopf behalten kann und die Länge des Spezifikationssymbols überschaubar ist (1-3 Zeichen), ist es doch ok.
    Was ich aber ganz witzig fand, ist der Widerspruch zwischen dem oben geposteten Hinweis und dem, was man in der MSDN-Dokumentation findet - nämlich ungarische Notation 🙂



  • [Rewind] schrieb:

    Was ich aber ganz witzig fand, ist der Widerspruch zwischen dem oben geposteten Hinweis und dem, was man in der MSDN-Dokumentation findet - nämlich ungarische Notation 🙂

    Das liegt wohl daran, daß diese Dokumentation zu einer Zeit entstanden ist, bevor sie erkannt haben, daß (ihre Interpretation von) ungarischer Notation Mist ist 😃


  • Mod

    [Rewind] schrieb:

    hab mir die Nachteile auf Wiki durchgelesen. Manchen Kritikpunkten stimme ich zu, aber wenn man nicht alle Variablen im Kopf behalten kann

    Wie kann das sein? Und was nützt es dir dann?

    und die Länge des Spezifikationssymbols überschaubar ist (1-3 Zeichen), ist es doch ok.

    Und wie willst du das schaffen, dich auf 1-3 Zeichen zu beschränken? Dann kannst du nur inkonsequent oder mehrdeutig werden.



  • Wenn du zu dir viele Variablen auf einmal merken musst ist dein Context zu groß. Arbeite OOP und in kleinen Methoden, dann hast du dieses Problem nicht.

    Ich persönlich brauch mir gar keine Variablen merken, wenn ich mit einem "Person" Objekt arbeite, dann nenn ich die Variable auch "person". Und in einem kleinen Context hat man auch keine zweideutigkeiten.


Log in to reply