g++ Fehler beim Kompilieren



  • Ich persönlich lasse Variablennamen und Objekte immer mit einem kleinen Buchstaben anfangen. Klassennamen dagegen schreibe ich groß, genauso wie die Namen von Funktionen.

    Bsp.:

    const int KAPUTT = 1;
    Auto meinAuto;

    meinAuto.GetThisValue();
    meinAuto.SetThisValue();
    meinAuto.reifen = KAPUTT;
    meinAuto.SelfDestruct();

    ungarische Notation braucht man in C++ wirklich nicht.



  • Ich versteh deine Argumentation überhaupt nicht mehr. Meinetwegen benutz doch C als Präfix, du kannst vor deine Klassennamen schreiben was du willst. Sogar den Namen deines verstorbenen Wellensittich, wenn du glaubst, dass man dadurch 1. sehen kann, dass es sich um eine Klasse handelt und 2. dass dieses Wissen jemanden etwas nützt.

    Mein Tipp mit dem C als Präfix war eben nur dazu gedacht, wenn du jemand bist, der auch mal auf die Argumentation anderer hört und nicht gleich rumbrüllen muss.

    Warum sollte ich durch ein C vor einem Namen mehr erkennen, dass es sich um eine Klasse handelt? In dem Punkt hast du doch selbst gesagt, dass gXY nicht eindeutig als get Methode für XY zu verstehen ist.

    Was denkst du bringt dir das wissen, darüber ob es sich um eine Klasse handelt? Das C wurde wie gesagt von MS benutzt (Borland nahm eben T) um Namenskonflikte zu vermeiden, in einer Zeit als C++ noch keine Namespaces hatte. Die konnten ja nich wissen, dass jeder 2. C++ Anfänger gleich denken muss "oh oh ein C Präfix steht für eine Klasse" und das kopieren mussten.

    Wenn ich

    Auto foo;
    

    schreibe, dann weiss ich doch, dass Auto irgend eine Klasse oder so was ist, spätestens bei der ersten Benutzung. Im Endeffekt werd ich ja eh in die Doku schauen, was Auto für ein Interface hat etc. Spätestens dann werd ich ja sehen ob Auto nicht doch ein typedef auf ein int ist 😉

    Also fasse ich zusammen:

    1. C ist kein eindeutiges Präfix (genauso eindeutig wie ein g für eine get Methode um auf dein Beispiel zurückzukommen)
    2. das Wissen ob es sich bei Auto um eine Klasse handelt ist nicht nötig. Es geht nur darum, dass man weiss was es wie tut und das erfährt man durch das Prefix nicht
    3. ein C vor einer Klasse sorgt nicht dafür (sondern arbeitet eher dagegen), dass man sinnvolle Typnamen nimmt. Cw ist genausomöglich wie w als Klassenname. Das ändert nichts an der Situation.



  • Na Hume was wäre für dich denn produktiv? In diesem Fall doch nur, dass ich sage: ja, amen.
    Schau mal, ich mache das so schon seit ich mit Klassen programmiere weil es für mich nützlich ist. Bei mir auf Arbeit wird das ganze genauso gehandhabt. Also ist es wenigstens dort gängig. Das dann in regelmässigen Abständen einer (in diesem Forum) daherkommt und mir sagt, dass des Mist ist weil er davon üerzeugt ist, dass es Mist ist, ist zwar für ihn schön und für mich informativ aber auf dauer nervend und sinnlos. Es gab schon massenhaft solcher Threads und geendet haben sie alle gleich!
    Ich glaube langsam, dass du das einfach nicht merkst. Wenn du auch nicht merkst wann du beleidigend wirst, ist das schon der zweite Punkt den du nicht merkst. Unterstrichen wird das noch von einer ordentlichen Portion Ignoranz. Denn auf Argumente die ich anbrachte weshalb _ich_ das so mache und auch dabei bleibe, gehst du gar nicht ein. Hast du mal bemerkt, dass die Namenskonventionen von denen ich sprach genau diese hier sind?
    Man komm runter von deinem hohen Ross! Ich bin weder merkbefreit, noch fasel oder sonst irgendwas. Kommentare wie "geh spielen" zeugen von absolut keinem Niveau,auch wenn du so tust als ob du hier der grosse Chef bist. Sowas disqualifiziert dich. Und noch vielmehr, dass du es nicht mal merkst.

    Aber vielleicht sollte ich was anderes tun: Ja Hume, du bist der Meister, du weisst über _alles_ am besten Bescheid. Nur du weisst wer was, wie zu schreiben, zu formatieren und überhaupt zu tun hat. Ich nenne dich ab jetzt meinen Übervater, denn ich bin dumm in deinem Glanze.

    Hume, fachlich hast du wirklich viel drauf. Aber das was du ausser dem noch hier im Forum zeigst, ist unter aller Sau. Von Zeit zu zeit scheint es dich immermal zu packen und dann geht es völlig mit dir durch. Und wenn du das echt nicht verstehst, dann kann ich dir nicht weiter helfen.
    Ich wäre dir im übrigen dankbar wenn du deine Verbalinjurien jetzt für dich behalten könntest und deine Ignoranz dafür verwenden könntest, einfach diesen Thread hier zu ignorieren.

    @Knuddlbaer: Ich habe noch nie mit der MFC programmiert und bin auch nicht dadurch auf diese Namenskonvention bzgl. Klassen gekommen. Ich weiss nicht mehr wie ich dazu kam aber ich finde es gut.



  • @kingruedi: Ich gehe schon auf Argumentation ein aber wo bitte ist bei

    (btw. sollte man kein C als Prefix für Klassennamen benutzen)

    Argumentation?
    Ich bitte zur Kenntnis zu nehmen, dass ich nur gesagt habe, das diese Belehrungen bzgl. Bezeichnerwahl überaus nervend sind, weil es doch Geschmackssache ist.
    Und auch für dich nochmal -> ich habe noch nie mit der MFC programmiert und den C Präfix auch nicht daher.
    Ich benutze auch sehr gern ungarische Notation und finde es gut, wenn ich sehe was ich vor mir habe, ohne erst in Doku schauen zu müssen.
    Ja in einer idealen Welt ist das vielleicht überflüssig aber die haben wir nicht. Deshalb gibt es auch mal schlecht kommentierten Quellcode (und wenn es nur mein eigener ist den ich mir nach 5 Monaten nochmal anschaue). Und da fällt es _MIR_ leichter, die Bezeichner gleich richtig zu deuten. Geht für mich halt schneller. Meine Sache.
    Und irgendwie (klar kommt des von meiner Reaktion) enden doch aber solche Diskussionen immer gleich. Deshalb können doch auch solche Kommentare gleich wegbleiben, oder?



  • Tatsache ist, dass du bei halbwegs modernen Entwicklungsumgebungen eigentlich die Definition einer Variable angezeigt bekommen müsstest, wenn du z.B. mit der Maus darüber fährst.

    Und Tatsache ist nun mal auch, dass auf den Unis ganz bewusst nicht ungarische Notation gelehrt wird.

    Tatsächlich ist es völlig wurscht, wie du es für dich machst, das geht eigentlich keinen was an. Und wenn das in deiner Firma so gemacht wird, schön. Aber ich denke nicht, dass es woanders noch im großen Stil üblich ist. Wie du an meinen Beispielen (oben) sehen kannst, habe ich kein Problem damit, zu erkennen, dass Auto eine Klasse ist.



  • Klar, glaub ich dir auch. Wie gesagt, fällt es mit halt leichter, auch bei grösseren Projekten mit Hilfe von ungarischer Notation durchzublicken.

    Wo studierst du? Bei uns wird auf Notationen im Stoff überhaupt nicht eingegangen. Die tun sich schon schwer von Pascal wegzukommen. 😮



  • Drakos
    das "btw." war keine Argumentation, sondern ein Hinweis. Die Argumentation folgte später.

    Ja in einer idealen Welt ist das vielleicht überflüssig aber die haben wir nicht

    ich weiss nicht wie du programmierst, aber ich kann mir die Header und Klassen deklarationen angucken, selbst wenn das Programm keine Dokumentation oder nur irgend einen Kommentar hat.

    Was bringt es dir zu wissen, dass Auto eine Klasse ist?

    enden doch aber solche Diskussionen immer gleich

    nein eigentlich nicht, bisher habe ich schon erlebt, dass Leute eingesehen haben, dass C als Präfix nichts bringt. Das waren die Leute dir idr. die Argumentation gelesen haben

    Deshalb können doch auch solche Kommentare gleich wegbleiben, oder?

    öhm, Nein. Wieso? Es hätte ja sein können, dass du nicht ein so verbissener Mensch bist, der vielleicht dadurch was gelernt hatte.



  • Ähhm, lies dir doch bitte nochmal die Posts durch und vor allem die erste Antwort von Hume. Die einzigen Argumente die kamen waren
    a) die Präfixe sind unnötig
    b) die Präfixe sind unüblich
    c) in der realen Welt haben Dinge auch kein extra Präfix.

    Da kann ich keinen wirklichen Grund erkennen weshalb ich das bei mir ändern sollte. Es gibt genug Dinge die für mich dagegen sprechen und keinen wirklich sinnvollen Grund also ist die Wahl doch logisch!



  • also ich lese da mehr Dinge. Naja, mach das mit den Präfixen wie du willst, die Diskussion ist eh Sinnlos. Du willst wohl nicht die Beiträge vernünftig lesen, sondern nur rumpöbeln.



  • Das war ja klar. Natürlich hab ich gepöbelt und nicht der gnädige Herr Hume. Ach wie auch nur, das wird halt ignoriert.
    Oh mann, das ist einfach lächerlich. Wenn jemandem aus den Moderatorenkreisen hier die Arroganz ausser Kontrolle gerät und man nicht sofort schreit 'Ja, was du mir sagst nehme ich hin und halte das für die einzige Wahrheit ohne nach Begründung zu verlangen.' ist man hier gleich der Depp.
    Da muss man sich anhören, dass man nichts mitbekommt, keine Ahnung von irgendwas habe, die Beiträge nicht lese (man beachte meine Signatur, die nicht ohne Grund da ist), nichts zu sagen hat und den Mund halten soll, merkbefreit ist etc.
    Du solltest vielleicht mal darüber nachdenken, wer hier wen angepöbelt hat. Ich habe die ganze Zeit nichts persönliches gesagt aber ein anderer Herr kann sowas ja nicht lassen. Und zur Feier bin ich der Dödel. Also wirklich! *kopfschüttel*

    Und ja das mit den Präfixen mach ich wie ich will. Danke für das Verständnis aber das war das was ich die ganze Zeit betont habe und auch für mich erbeten habe. Ich hoffe, dass das hier nun endlich ein Ende hat.

    CThread::close();
    

    Danke.


Anmelden zum Antworten