Ungarische Notation veraltet



  • Lustiglein schrieb:

    Lustig wird es, wenn man eine Variable in einem prog ~200 mal verwendet und danach merkt, dass deren Datentyp nicht so ganz der richtige ist.

    ➡ have fun mit der ungarischen notation

    -> suchen und ersetzen..



  • aMan schrieb:

    Lustiglein schrieb:

    Lustig wird es, wenn man eine Variable in einem prog ~200 mal verwendet und danach merkt, dass deren Datentyp nicht so ganz der richtige ist.

    ➡ have fun mit der ungarischen notation

    -> suchen und ersetzen..

    Lustiglein schrieb:

    dali schrieb:

    SUCHEN UND ERSETZEN -> ERSETZEN :p

    Oder einfach auf die ungarische Notation verzichten. :p



  • Die Ungarische Notation sieht einfach schick und elegant aus. Ausserdem bin ich mit ihr aufgewachsen und habe sie seit jeher befolgt und liebgewonnen. Der Code wirkt einfach strukturierter und übersichtlicher. Jedem das seine aber mir läuft ein kalter Schauer den Rücken herunter, wenn ich mich durch ungenormten Linux Code wühlen muss...Bin von Windows einfach Konformität gewohnt.

    Gomon



  • Gomon schrieb:

    Die Ungarische Notation sieht einfach schick und elegant aus. Ausserdem bin ich mit ihr aufgewachsen und habe sie seit jeher befolgt und liebgewonnen. Der Code wirkt einfach strukturierter und übersichtlicher. Jedem das seine aber mir läuft ein kalter Schauer den Rücken herunter, wenn ich mich durch ungenormten Linux Code wühlen muss...Bin von Windows einfach Konformität gewohnt.

    Gomon

    Ich empfinde "Text" angenehmer als "lpszText". Beim zweiteren bekomme ich gewisse K*tzreize.

    Soso. Du bist also "Konformität" von Windows gewöhnt. 🙄
    Du hats bestimmt jeden Tag die Gelegenheit den "closed source" Windowsquellcode (Betriebssystemquellcode) zu lesen.



  • Was hat denn nun das mit irgendetwas zu tun? Aber um auch diesem Argument den Wind aus den Segeln zu nehmen, ja ich habe an der Uni die Möglichkeit den Source Code von Windows einzusehen.

    lpszText ist weitaus angenehmer weil ich dem Namen SOFORT den Typ entnehmen kann.

    Gomon



  • Hier soll es nicht darum gehen, was schöner aussieht, oder was jemandem persönlich besser gefällt, sondern ob die ungarische Notation durch moderne IDEs nicht mehr nötig ist. Das man nun bequem den Typ Ersetzen kann (Refaktoring), ist übrigens ein weiterer Vorteil, der sich durch moderne IDEs ergibt.

    [ automatisch ] schrieb:

    Wenn ich was programmier, dann weiß ich doch welche Variable ich brauch

    Nicht jeder muss nur mit eigenen Code arbeiten.

    Sieben ist die ungefähre Größe des Kurzeitgedächtnis (http://www.google.de/search?hs=Fj9&hl=de&client=firefox-a&rls=org.mozilla%3Ade-DE%3Aofficial&q=Kurzzeitgedächtnis+sieben+dinge+gleichzeitig&btnG=Suche&meta=), übrigens unabhängig von der sonstigen Intelligenz. f'`8k

    Bye, TGGC (\-/ returns)



  • Zur ungarischen Notation sind vielleicht auch auf folgender Seite die Punkte 30 und 31 interessant. 🙂

    http://mindprod.com/jgloss/unmainnaming.html



  • Gomon schrieb:

    Was hat denn nun das mit irgendetwas zu tun? Aber um auch diesem Argument den Wind aus den Segeln zu nehmen, ja ich habe an der Uni die Möglichkeit den Source Code von Windows einzusehen.

    lpszText ist weitaus angenehmer weil ich dem Namen SOFORT den Typ entnehmen kann.

    Gomon

    Wegen dem Gebrauch der ungarischen Notation schließe ich auf eine Gedächtnisschwäche deiner Person. Normalerweise kennen die Programmierer den Typ der Variable.

    Achja: Was bedeutet eigentlich "lpsz" ausgeschrieben? Long Pointer String Z****?
    Warum "Long"? Und das 'Z'? Ist es dazu da, damit der code 1337-mäßig aussieht?

    Und wie lautet dann das Prefix von einem Object, welches vom Typ map <string , Object> ist? Angenommen Object ist vom typ vector<foo> und foo ist vom typ stack<int>?



  • Ho

    Das ist ja schon in sich widersprüchlich. Meistens sind die UNIX/Linux Progammierer doch immer so eingefleischte Minimalisten die NIEMALS eine moderne IDE nutzen würden, sondern immer auf Sachen wie vi oder emacs setzen. Und die sind mitnichten modern, insofern ist gerade dort die ungarische Notation in absoluter MUSS!

    Davon ab trifft jeder diese Entscheidung für sich selbst insofern geht es sehr wohl darum, was schöner aussieht und mit wsa man sich komfortabler fühlt!

    Gomon



  • Gomon schrieb:

    Ho

    Das ist ja schon in sich widersprüchlich. Meistens sind die UNIX/Linux Progammierer doch immer so eingefleischte Minimalisten die NIEMALS eine moderne IDE nutzen würden, sondern immer auf Sachen wie vi oder emacs setzen. Und die sind mitnichten modern, insofern ist gerade dort die ungarische Notation in absoluter MUSS!

    Davon ab trifft jeder diese Entscheidung für sich selbst insofern geht es sehr wohl darum, was schöner aussieht und mit wsa man sich komfortabler fühlt!

    Gomon

    Netter Versuch seriös zu wirken, Troll. 😃
    Was hat die ungarische Notation damit zu,ob man ne überladene IDE nutzt oder nen wesentlich flexibeleren editor wie vim?



  • Oh Man! Das z steht für zero und bedeutet daß es sich um eine NULL-terminierte Zeichenkette handelt. Das lp steht für long pointer weil es früher eine Bedeutung spielte und jederzeit wieder Bedeutung erlangen kann, sollte eine zukünftige Windows Version wieder auf mehreren Architekturen verfügbar gemacht werden.

    Gomon



  • Das hat insofern etwas damit zu tun, als daß als Gegenargument angeführt wird, daß eine moderne IDE sowieso den Typ erkennen könnte.



  • Gomon schrieb:

    Oh Man! Das z steht für zero und bedeutet daß es sich um eine NULL-terminierte Zeichenkette handelt. Das lp steht für long pointer weil es früher eine Bedeutung spielte und jederzeit wieder Bedeutung erlangen kann, sollte eine zukünftige Windows Version wieder auf mehreren Architekturen verfügbar gemacht werden.

    Gomon

    Achsooo. "früher eine Bedeutung spielte"? => veraltet 😃

    Gomon schrieb:

    Das hat insofern etwas damit zu tun, als daß als Gegenargument angeführt wird, daß eine moderne IDE sowieso den Typ erkennen könnte.

    Wer nutzt schon ne IDE. IDE's sidn doch was für Weicheier. 🤡

    Also mal ehrlich. Es dürfte einem Programmierer immer bewusst sein, dass man strings in char* ( oder string in c++ ) speichert und nicht in int oder float.

    Somit ist das Prefix str schonmal wertlos.

    Den Unterschied zwischen int und float dürfte ein Programmierer auch kennen.

    Naja, aber jedem das seine.



  • Ach Mensch. Wenn du die Vorteile der ungarischen Notation nicht schätzt, dann lass es eben. 🙄 Keiner zwingt dich dazu.

    Sinnvolles Einsatzgebiet der ungarischen Notation:

    http://www.microsoft.com/development/literature/not/hungary.html





  • Shade Of Mine schrieb:

    http://schornboeck.net/artikel/cobject.htm

    Es heißt Präfix/Präfixe und nicht Prefix/Prefixe



  • Was macht ihr (ungarische Notationsbeführworter) denn nun mit Objekten, Maps, Vektoren usw.?



  • Am besten sowas:

    map< string , vector< map<string , stack> > >

    Lautet dann das Prefix etwa mapstrvecmapstrstck?



  • Och ist ganz einfach:

    Bsp: vecAsbVenAutos
    [b]vec[/b]tor gefüllt mit [b]A[/b]utos [b]s[/b]orted [b]b[/b]y [b]Ven[/b]dor mit dem Namen [b]Autos[/b].
    

    Ist doch echt brilliant, nicht? Man hat einfach alle Infos, die man braucht auf einen Blick und das trotzdem absolut intuitiv. Demnächst werd ich wahrscheinlich noch wichtige Termine in die Variablen eintragen, damit ich nicht ständig das Programm wechseln muss, was mich ungeheuer aus meinem Rythmus reißt.

    Lautet dann das Prefix etwa mapstrvecmapstrstck?

    Ist schon ein ganz guter Ansatz, allerdings fehlen noch 2 entscheidende Dinge:
    - die Sortierung (um während dem Programmieren Aufschluss über die Laufzeit zu haben)
    - der Name selbst

    mapKStrVVecMapKStrVStcknsName
    

    Klarerweise mussten auch noch der Key und der Value klarer differnziert werden, ansonsten wurde eben noch die Tatsache angegeben, dass der Vektor nicht sortiert ist und der Name wurde angefügt. Wieder einmal mehr ist bewiesen, dass alle Software Entwickler, die keine Präfixe verwenden keine Ahnung haben ..



  • befürworter schrieb:

    Och ist ganz einfach:

    Bsp: vecAsbVenAutos
    [b]vec[/b]tor gefüllt mit [b]A[/b]utos [b]s[/b]orted [b]b[/b]y [b]Ven[/b]dor mit dem Namen [b]Autos[/b].
    

    Ist doch echt brilliant, nicht? Man hat einfach alle Infos, die man braucht auf einen Blick und das trotzdem absolut intuitiv. Demnächst werd ich wahrscheinlich noch wichtige Termine in die Variablen eintragen, damit ich nicht ständig das Programm wechseln muss, was mich ungeheuer aus meinem Rythmus reißt.

    Lautet dann das Prefix etwa mapstrvecmapstrstck?

    Ist schon ein ganz guter Ansatz, allerdings fehlen noch 2 entscheidende Dinge:
    - die Sortierung (um während dem Programmieren Aufschluss über die Laufzeit zu haben)
    - der Name selbst

    mapKStrVVecMapKStrVStcknsName
    

    Klarerweise mussten auch noch der Key und der Value klarer differnziert werden, ansonsten wurde eben noch die Tatsache angegeben, dass der Vektor nicht sortiert ist und der Name wurde angefügt. Wieder einmal mehr ist bewiesen, dass alle Software Entwickler, die keine Präfixe verwenden keine Ahnung haben ..

    Hat schon seine Vorteile, wenn der Prefix 10 mal so lang ist wie der eigentliche Variablenname! Das bringt echt Vorteile mit sich!

    Ungarische Notation: mapKStrVVecMapKStrVStcknsName
    UNIX/Linux-like: name


Anmelden zum Antworten