ungarische Notation | [Ja] oder [Nein] ?



  • Was haltet ihr davon ? :p



  • Ich halte das davon, was ich schon immer davon gehalten habe: nichts!

    Ansonsten bin ich mit Herb Sutter einer Meinung. Dessen Artikel zum Thema ist inzwischen 17 Jahre alt:
    http://www.drdobbs.com/conversations-hungarian-warthogs/184403804

    PS.: Paul? Wer ist eigentlich Paul? Seit UN wissen wir, dass es sich um einen Pointer auf ein Array von unsigned long handelt.



  • Werner Salomon schrieb:

    Ich halte das davon, was ich schon immer davon gehalten habe: nichts!

    Ansonsten bin ich mit Herb Sutter einer Meinung. Dessen Artikel zum Thema ist inzwischen 17 Jahre alt:
    http://www.drdobbs.com/conversations-hungarian-warthogs/184403804

    PS.: Paul? Wer ist eigentlich Paul? Seit UN wissen wir, dass es sich um einen Pointer auf ein Array von unsigned long handelt.

    Danke, für deine Meinung 🙂
    Ich sehe gerade auch schon, dass ich diese Frage nicht hätte stellen sollen :o


  • Mod

    ReinesWeed schrieb:

    Ich sehe gerade auch schon, dass ich diese Frage nicht hätte stellen sollen :o

    Ehrliche Gegenfrage, warum du das denkst:
    a) Weil du merkst, dass die Frage hier schon sehr oft durchgekaut wurde? Zum Beispiel hättest du auch diesen Link aus den FAQ lesen können: Argumente gegen ungarische Notation in C++
    b) Weil du dir heimlich gewünscht hast, Argumente für ungarische Notation zu hören, und du nun enttäuscht bist?
    c) andere Gründe



  • Von der klassischen ungarischen Notation halte ich auch nix.

    Aber er gib einen netten Artikel: https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/

    => kurz gesagt, bestimmte Präfixe können unter bestimmten Vorraussetzungen sinnvoll sein.



  • SeppJ schrieb:

    ReinesWeed schrieb:

    Ich sehe gerade auch schon, dass ich diese Frage nicht hätte stellen sollen :o

    Ehrliche Gegenfrage, warum du das denkst:
    a) Weil du merkst, dass die Frage hier schon sehr oft durchgekaut wurde? Zum Beispiel hättest du auch diesen Link aus den FAQ lesen können: Argumente gegen ungarische Notation in C++
    b) Weil du dir heimlich gewünscht hast, Argumente für ungarische Notation zu hören, und du nun enttäuscht bist?
    c) andere Gründe

    ->A<- Es ist meine Schuld :c Ich hätte mir vorher die FAQ durchlesen müssen 😕



  • Hi,

    ungarische Notation hatte noch ihre Berechtigung, als och überwiegend mit einfachen Editoren wie Edit, Emacs, vi, ... gecodet wurde.
    Heutezutage ist das überflüssig, da einem die Entwicklungsumgebung sobald man mit der Maus auf irgend einen Begriff zeigt viel genauer sagt was das ist.

    Ein großér Nachteil der Ungarischen Notation ist, das niemand garantiert, dass bei Typänderungen auch der typbeschreibende Vorsatz geändert wird. Das kann schnell zu Fehlern führen.

    Wichtiger ist es, auf den ersten Blick zu sehen was damit gemeint ist. Hier dürfte der CamelCase-Form eine Beduetung zukommen.

    Gruß Mümmel



  • ReinesWeed schrieb:

    Was haltet ihr davon ? :p

    Wichtig zu wissen, dass in der Win32 API der LPCSTR kein Near Pointer ist,
    weil ja sonst die meisten Strings immer im aktuellen 64k-Codesegment liegen... SCNR 😉

    UN hat sich überlebt, dank moderner Entwicklungsumgebungen, die einem bei
    Bedarf schnell alle Infos geben, sind heute eher kurze und gut lesbare Namen
    mit wenig Buchstabenrauschen angebracht.

    muemmel schrieb:

    Hier dürfte der CamelCase-Form eine Beduetung zukommen.

    AbstractProxyVisitorAdaptorMediatorServiceObserverFactory ? 😉

    Nee, nicht ernst gemeint. Eine Klasse FreeStandingGenericObjectPlacementArea
    statt Tisch zu nennen ist nicht die Schuld von CamelCase, sondern eher ein Symptom
    eines zu ausgeprägten Abstraktionswahns... befällt mich auch des öfteren 😉

    Ansonsten: std-Style-Unterstiche sind zwar gewöhnungsbedürtig, wenn man von
    CamelCase kommt, aber sie erleichtern dem "ersten Blick" die Wortteile auseinander
    zu halten. Mein eigener Stil ist ein hybrider: Typen Camel, Rest std-Style. Alles klein
    schadet dann doch ein wenig der Übersichtlichkeit und grosse Anfangsbuchstaben
    mit Unterstrichen find ich irgendwie gruselig.

    Finnegan



  • Hi Finnegan,

    Finnegan schrieb:

    muemmel schrieb:

    Hier dürfte der CamelCase-Form eine Beduetung zukommen.

    AbstractProxyVisitorAdaptorMediatorServiceObserverFactory ? 😉

    Nee, nicht ernst gemeint. Eine Klasse FreeStandingGenericObjectPlacementArea
    statt Tisch zu nennen ist nicht die Schuld von CamelCase, sondern eher ein Symptom
    eines zu ausgeprägten Abstraktionswahns... befällt mich auch des öfteren 😉

    Ja klar, hast schon recht Finnegan.
    Aber wer hindert Dich, zwei Tische ArbeitsTisch und WerkzeugTisch zu nennen, oder Arbeits_Tisch und Werkzeug_Tisch je nach dem wie es Dir besser ins Auge fällt. Oder umdrehen Tisch_Arbeit und Tisch_Werkzeug...

    Wichtig ist, das DU und nur DU Dich mit einem Blick in Deinem Quellcode zurechtfindest.
    Wenn das Programm noch von anderen weiterentwickelt werden soll, oder Du mit anderen zusammenarbeitest, muss es natürlich auch für die erkennbar sein.

    Die konkrete Darstellung ist kein Dogma, sondern immer ein Mittel das DIR helfen soll, Dich effizient in Deinem Quelltext zurechtzufinden.
    So folgt bei mir auf eine öffnende Klammer und vor einer schließendne Klammer immer ein Leerzeichen, auch wenn das nach Ansicht aller Formalisten und Quelltextgurus grundfalsch ist. Aber es separiert für mich den darin stehenden Inhalt optisch von der ganzen Klammerei. Wenn auch andere damit arbeiten müssten, dann müsste man sich sicher einigen, aber da ich meinen Plunder nur alleine auf meinem Schreibtisch habe sind mir die Gestaltungsregeln anderer herzlich egal, und nach mir sowieso die Sintflut. 😉

    Gruß Mümmel


Log in to reply