Sauberes Programmieren // Varibeln mit Prefix



  • @king Zitier mich vollständig und lies alles durch, was ich schreibe! Gehn Euch jetzt die argumente aus? 😃 😉

    Hab geschrieben dass man in c++ nich mit rohen Zeiger (und dyn Speicher) arbeiten sollte. Aber das geht an der Realität vorbei. Ich verwende hier z.B. ne C-Bib, die gibt mir Zeiger raus (doppelt schrecklich: Sie reserviert, ich muss freigeben). Ich packs dann natürlich gleich in nen Smart-Pointer. Aber ich arbeite mit rohen Zeigern.

    Außerdem: ich seh nen Vorteil und keiner kann mir nen Nachteil nennen. Tippen ist keiner. Die Notation schlag ich nach, kann sie nach nem halben Tag und weil ich dann nicht mehr dauernd die Typen nachschauen muss hab ich die Zeit nach nem Tag wieder drinnen.

    Außerdem hab ich geschrieben, dass ich eben keine Hausnummern-Klasse hab. Sondern ein string (auch ne Klasse bei der ich ein Präfix verwende) oder ein int, weil die bei meinen Anforderungen reichen.



  • Original erstellt von kartoffelsack:
    Bei den Funktionen geb ich Dir einerseits irgendwie recht, warum ichs trotzdem nicht mach hab ich schon versucht, zu erklären.

    und ähnliche argumente die du gegen UN bei funktionen bringst, bringen wir bei normalen variablen 🙂

    hier unterscheiden wir uns wirklich stark.
    stockwerk
    daran erkenne ich, dass es ein int-Typ ist. und ob das jetzt short, long, char,.. ist interessiert mich nicht, da ich diese information für überflüssig halte und du nicht.

    aber bei einem sind wir uns einig: UN bedeutet mehr aufwand (zB wenn sich der typ einer variablen ändert), oder?



  • Original erstellt von kartoffelsack:
    [QB]Außerdem: ich seh nen Vorteil und keiner kann mir nen Nachteil nennen. Tippen ist keiner. Die Notation schlag ich nach, kann sie nach nem halben Tag und weil ich dann nicht mehr dauernd die Typen nachschauen muss hab ich die Zeit nach nem Tag wieder drinnen.

    sagmal, wir schreiben uns die ganze zeit die finger wund und du meinst 'keine nachteile'?

    Nachteil?
    Schreibarbeit
    erschwert das lesen - du kannst lpfn oder lpsz oder pstr nicht flüssig lesen
    bei klassen sowieso unmöglich UN zu verwenden, bzw. wäre es wahnsinn und würde nur alles verkomplizieren
    welchen prefix hat ein std::string, welchen ein char* und welchen ein TCHAR*?
    was wenn sich der typ einer variablen ändert?
    der eine verwendest sCmdLine, der nächste szCmdLine der nächste pCmdLine und der nächste pstrCmdLine und der nächste strCmdLine und der nächste lpszCmdLine,...
    und irgendwann weisst du, dass du die variable foo brauchst, aber du weisst nicht welches prefix sie hat. wars jetzt ein iFoo, uFoo, uiFoo, nFoo, unFoo?
    und bei functions pointer wirds ja nur noch lustig.

    hab ich n paar seiten vorher geschrieben.

    Das problem ist ja: nicht immer verwendet man die selben prefixe. zumindest nach 10 Jahren ändert man es doch irgendwann mal - und dann wirds grausig.

    Ich weiß doch, dass ap ein std::auto_ptr is und xap is ne implementierunge eines referenzzählenden. In meinem Code ist das durchgängig so, und wer meinen Code liest, wirds auch recht schnell bemerken

    Problem: ich lese nicht nur den code von EINEM Projekt, sondern von vielen.
    sicher, wenn ich NUR dein projekt lese, kann ich mich gerne mit DEINER Notation beschäftigen, aber meistens hat man viele sourcen zu lesen...



  • Ehm Jungens, wenn ich das mal anmerken darf: Bei den etlichen Kilobytes die ihr hier schon an Text in diesen Thread gehämmert habt könnt ihr bis an euer Lebensende Präfixe verwenden. Das Argument mit der Schreibarbeit zählt also nicht mehr... 😃



  • Bashar: 'Bei Lisp ist eben alles anders' ;).

    Original erstellt von MaSTaH:
    Bei den etlichen Kilobytes die ihr hier schon an Text in diesen Thread gehämmert habt könnt ihr bis an euer Lebensende Präfixe verwenden. Das Argument mit der Schreibarbeit zählt also nicht mehr... 😃

    Glaubst Du ernsthaft, dass in diesem Thread _irgendein_ Diskussionsteilnehmer seine Beiträge von Hand getippt und nicht maschinell erzeugen hat lassen? Kann ich mir nicht vorstellen, denn augenscheinlich¹ enthalten sie ja keinerlei Inhalt, beziehen sich nur unwesentlich auf den Text des Vorposters(sic!) und weisen keinerlei Formen von Intelligenz auf, sondern geben stur Pseudo-Argumente in einer Form wieder, die entfernt an die deutsche Grammatik erinnert.

    1): Lest ihr eigentlich noch selbst?

    Ich bitte um Verzeihung, ich konnte einfach nicht widerstehen.



  • immer noch amüsant, euch zuzusehen... aber langsam wird's doch etwas fad.



  • Erstmal ein möchte ich hier meinen Respekt an Daniel E. zollen. Er wiederlegt alle Argumente mit einem Humor, der meinem genau entspricht. Leider schein kein anderer hier den Sarkasmuss in einigen Statements zu erkennen 😞

    Ich versteh langsam den Sinn dieser Diskussion nicht mehr.

    Dann sieh es als Comedyshow. Hat doch schon fast 'Smack the Pony'-Qualität.

    Bei funktionslokale Variablen ist es auf jeden Fall kein Problem den Typ mal eben nachzugucken. Bei Membervariablen, bei denen ich ein Prä- oder Suffix für sinnvoll halte ist es auch kein Problem, da Sie gebündelt an einer Stelle in der Klassendefinition stehen. Globale Variablen kommen nicht vor, außer möglicherweise Singletons, aber da ist der Typ wohl kaum von interesse, ween ihr versteht, was ich meine.

    Wenn ich mich über die Meinungen hier informieren wollte musste ich das lesen.

    Du sagst du willst, wodurch ein Zwang von Außen, selbst wenn vorhanden irrelevant ist. Deshalb musst du nicht. Dass du dich durch dein Wollen selbst zwingst zählt nicht.

    Funktionen werden Dokumentiert, Variablen nicht? Wie wie sieht es mit Funktoren aus?

    Structs sind für mich Klassen (wie für den Compiler auch).

    Ändert nichts daran, dass es PODs sein können. Da fällt mir der Spruch ein: Erst denken, dann Sprechen (schreiben).

    Ich weiß, dass ich mit meiner Abneigung gegenüber typedefs ziehmlich allein dastehe. Das ändert aber nix dran, dass ich sie nur in äußersten Notfällen einsetze, wenn z.B. der Funktionspointertyp sonst gar so lang werden würde.

    Schtimmt, ein wenig schreibarbeit ist wirklich ein extremer Notfall. (Wink mit dem Zaunfahl: Das ist Sarkassmus.)



  • seh ehrlich gesagt seit 5 Seiten nichts anderes mehr, als Sarkasmus 🙄
    neue Argumente? nöx...

    Da fällt mir was ein: Ich sag euch die Zukunft vorher:
    Jeder, der Präfixe und Postfixe nutzen will, wird sie nutzen und ist selbst schuld, wenn er mehr schreiben muss, oder das Wesen der OO nicht versteht und daher ganz und gar nicht ooig programmiert, und auf der anderen Seite die, die sich darüber lustig machen, werden sich auch weiterhin darüber lustig machen und eines Tages vor lauter Lachen und Sarkasmus nicht mehr wissen, ob ihre "Zahl" Variabel signed oder unsigned ist. OK?



  • ob ihre "Zahl" Variabel signed oder unsigned ist. OK?

    Dann kann ich aber in der Doku nachschauen... *ganzediskussionwiederaufroll* 😃

    Ne, mal im Ernst. Kennzeichnen sollte man Variablen IMHO. Ich spreche nicht von einer Notation oder der UN... Meine Meinung... Wir leben hier schließlich in einem freien Land und nicht in Amerika 😃



  • Ein beispiel aus dem wirklichen Leben:

    extern	BOOL		bProtokoll; // Wenn das Protokoll verwendet werden soll TRUE
    
    	if (bProtokoll==BIE)
    	{
    		fn1();
    	}
    	if (bProtokoll==DIA)
    	{
    		fn2();
    	}
    	if (bProtokoll==GO)
    	{
    		fn3();
    	}
    	if (bProtokoll==TR)
    	{
    		fn4();
    	}
    

    😃



  • \o/


Anmelden zum Antworten