Nochmal: Ungarische Notation
-
SirLant schrieb:
[...] wenn ich ein MFC Projekt erstelle, erstellt mir der
Assistent automatisch Klassen mit dem C im Namen, wenn ich eine neue Klasse
hinzufügen möchte und gebe als ersten Buchstaben C ein, so werden die Felder mit
den Dateinamen nicht ausgefüllt, erst mit den anderen Buchstaben (CFoo, wird dann Foo.h und Foo.cpp).Du kannst doch trotzdem Klassen ohne C-Präfix erstellen?
Wenn der Klassenname zufällig mit einem C beginnt und die IDE meint da ruminterpretieren zu müssen, setzt du die Dateinamen eben manuell. In dem genannten Dialog gibt es eine Schaltfläche dafür.
-
Programmiert doch mal in einer nicht zur Compilezeit Typisierten Sprache.
|foo| foo := 5. foo := Apfelbaum new. foo := 'Hallo' reverse.
Sicherlich kein sinnvolles Beispiel und sowas würde auch keiner machen, aber es lenkt das Denken in die richtige Richtung.
-
@Shade:
Lies mal die FAQ von Run um - dann wirst du auch Humes Beispiel sehen und erkennen warum zuviel Information böse ist.
Hab ich getan. Was ich in dem Fall meinte ist auch eher eine Unterscheidung bei Instanzen und Pointern auf Instanzen durch Präfix p. Klassen würde ich auch nie "Ver_ungarisieren", es sei denn sie sind irgendwo Member ( ob nun durch m_ , oder nur _ ist wohl eher Geschmackssache ).
Interfaces bekommen bei mir idr. auch ein I, aber für mich ist auch nicht jede abstrakte Klasse ein Interface, sondern nur, wenn ich sie ausschließlich zum Bereitstellen einer Schnittstelle verwende (keine weitere Funktionalität).
Ob float oder double spielt da sicher keine Rolle, aber irgendwie finde ich es immer ganz schön einer Variablen anzusehen, das sie z.B. ein String ist ( z.B.: strValue ). Dabei ist für mich aber alles String ( std::string, char[], CString.... ).
Keine Frage, ich muß das erstmal verdauen. Vielleicht lasse ich mich auch noch "Entungarisieren".
-
TheBigW schrieb:
ein String ist ( z.B.: strValue ). Dabei ist für mich aber alles String ( std::string, char[], CString.... ).
Und inwiefern hast du da besondere Informationen über den Typ? Wenn du ihn verwenden willst, musst du sowieso nachschauen was es jetzt für ein Typ ist...
-
Damit hast du mich Schachmatt. Noch ein letzter bescheidener Versuch eines Gegenargumentes:
Folgendes habe ich vor kurzem in einem Tool gefunden:
_name = name;
_attributes = attributes;
_parent = parent;wenn ich jetzt Versuche ein fremdes Klassengerüst zu verstehen, so hilft es mir immer für das grobe Verständis irrelevantes auszuschließen. In diesem Fall wäre dann:
_strName = strName;
_strAttributes = strAttributes;
_parent = parent;schöner gewesen, da ich Name und Attributes aus der Betrachtung ausschließen kann. Sozusagen nicht, um zu wissen, das strXX ein String ist, sondern um zu sehen, das parent eine Instanz einer zum Klassengerüst gehörigen Klasse ist.
Aber solange man eine IDE mit der schönen Option "Gehe zu Definition von ..." hat.....
-
Das "Gehe zu Definition von ..." ist ziemlich Zeitraubend, find ich, es ist viel
angenehmer, wenn man einfach mit dem Cursor über die Variable fährt und dann ein
Tooltip (heißen ja so oder?) erscheint mit der Deklaration
-
Die heutigen IDEs sind so gut, dass man sich keine Gedanken mehr um eine Notation machen muss. Ich gebe einen Variablennamen gefolgt von einem Punkt ein und die IDE wandelt um in '->', weil der eingegebene Variablenname zu einem Pointer gehört. Anschließend geht eine Liste mit allen Members auf. Einfacher geht es wohl kaum.
-
MaSTaH schrieb:
Ich gebe einen Variablennamen gefolgt von einem Punkt ein
Ne. Du gibst nur die ersten 2-3 Buchstaben des Variablennamens ein und drückst dann Enter
Noch ein Nachteil der ungarischen Notation:
strVal - da muss ich 4 Buchstaben schreiben, damit die IDE mir einen vernünftigen Vorschlag geben kann, da ich ja vermutlich mehrere Strings habe.
-
Ja, toll, also entwickelt ihr für Leute, die neue, teure IDEs haben?
Was bezeichnet ihr überhaupt als tolle, neue IDE? Und wieviel kostet sowas?
-
0€ für VS.Net Professional für Informatik-Studenten.
Und wenn du arbeitest, wird das wohl die Firma zahlen?
-
VS. NET also?
Und wenn ich ein armer Schüler bin?
-
Dann reicht dir ein gcc.
:p
-
Mis2com schrieb:
Und wenn ich ein armer Schüler bin?
Schülerlizenz und zu Weihnachten wünschen
Oder die Author Edition - die gibts vom VC++6 gratis, vom VC++7 und 7.1 weiss ichs nicht.
-
Mis2com schrieb:
VS. NET also?
Und wenn ich ein armer Schüler bin?
Schülerlizenz, kostet 110€ fürs Studio professionell, VC++.NET gibts billiger, 60 oder 70€
Die richtig guten Funktionen gibts aber erst wenn du noch Visual Assist hast, das
ist nen Add-in, welches dir Funktionen, wie . zu -> oder 2-3Buchstaben von nem
Namen tippen und dann Enter bietet. Außerdem noch erweiterte Highlight Funktionen.
Kostet 79$, wenn ichs noch richtig weiß.
-
Argh, das ist zu teuer. oO
Und zu Weihnachten habe ich mir schon letztes Mal so viel schenken lassen, ich will ja nicht auch zu Hause als Schmarotzer vom Dienst dastehen.
Naja, werd ich wohl mit VC6.0 rumheulen müssen.MfG Eisflamme