Klassenpräfixe



  • Thanatos schrieb:

    Bei meinen Überlegungen zu Schüler und Studenten geh ich von den User-Profilen aus. Wenn die getürkt sein sollten, dann triffts halt konkret keinen, ok. Bei meiner Aussage bleibe ich trotzdem. 😉

    Hast du auch was konkretes zu sagen oder willst du nur den Schülern/Studenten hier pauschal unterstellen, dass sie zu unerfahren sind um eine Aussage darüber zu treffen?

    Shade Of Mine schrieb:

    Die meisten Schüler/Studenten die hier sind, arbeiten nebenbei.

    Es wäre ja auch zu schade, wenn man die Fähigkeit zu Programmieren nicht zu Geld machen würde 😉 .



  • Thanatos schrieb:

    Aber manche Beiträge insbesondere, wenn sie sich nicht mit technischen Fragen auseinandersetzen strotzen gradezu vor eienm Wahrsheitsanspruch das ich mich Frage wie man schon in so jungen Jahren mit derartigen Scheuklappen rumlaufen kann.

    Was erwartest du? Dies hier ist ein Programmierforum. Da liegt es doch nahe, dass die Leute hier sich eingehend mit der Materie beschäftigen. In einem Modellbauforum werden dir die Leute auch Tips geben welches Material du benutzen kannst.

    Du hast drei Möglichkeiten:

    1. Du siehst den Vorteil und lernst daraus.
    2. Du bist kompetent genug um zu sagen, dass der Tip Müll ist und begründest es.
    3. Du ignorierst den Nutzen und verkündest weiterhin Halbwissen.


  • Hi MaSTaH,

    du hast völlig recht, ich unterstelle allen ohne längere Berufserfahrungen das sie nicht über die notwendige Erfahrung verfügen zu beurteilen wie und warum sich manche Dinge in der Praxis sich entwickelt haben, weil sie einfach die Situation aus der solche "Absonderlichkeiten"/"Notwendigkeiten" entstanden sind nicht kennen und nicht einschätzen können.



  • Thanatos schrieb:

    du hast völlig recht, ich unterstelle allen ohne längere Berufserfahrungen das sie nicht über die notwendige Erfahrung verfügen zu beurteilen wie und warum sich manche Dinge in der Praxis sich entwickelt haben, weil sie einfach die Situation aus der solche "Absonderlichkeiten"/"Notwendigkeiten" entstanden sind nicht kennen und nicht einschätzen können.

    Dir ist aber schon klar das die ganzen C++ Gurus wie Meyers, Sutter, Stroustrup, Alexandrescu,... alle keine Präfixe verwenden?

    Kannst du mir das bitte erklären?



  • Thanatos schrieb:

    Hi MaSTaH,

    du hast völlig recht, ich unterstelle allen ohne längere Berufserfahrungen das sie nicht über die notwendige Erfahrung verfügen zu beurteilen wie und warum sich manche Dinge in der Praxis sich entwickelt haben, weil sie einfach die Situation aus der solche "Absonderlichkeiten"/"Notwendigkeiten" entstanden sind nicht kennen und nicht einschätzen können.

    Falsch, du unterstellst dies Studenten und Schülern, ohne vielleicht mal darüber nachzudenken, dass eben genannte durchaus auch schon einige Jahre "im Geschäft" sein können. Wie ich in einigen Topics verfolgen konnte hat ein beachtlicher Teil der Schüler/Studenten hier schon hinreichende Praxiserfahrungen.

    Btw: Sollen wir alle lernresistent werden, bloß weil in manchen Softwarehäusern kurzsichtigerweise auf schlechten Stil gesetzt wird? Für bares Geld programmiere ich gerne Scheiße zusammen, wohl wissend, dass ich es besser machen würde wenn ich die Zeit hätte.



  • Hi MaSTaH,

    moooomentmal,

    1.) Als jemand der selbst programmiert nervt mich die Verwendung solcher Präfixe, andererseits hat mir das bei der Durchsicht fremder Quellcodes schon oft geholfen, wie schon in meinem ersten Posting gesagt.

    2.) Ich halte ich den Tip nicht für Müll (siehe 1.). Es spricht aber doch (hoffentlich) nichts dagegen auch Gründe für eine solche Vorgehensweise anzuführen. In der Hoffnung der der fragende möglichst viele Seiten sieht und zu einer eigenen Entscheidung kommt.

    3.) Für wie sachlich oder wissensbasiert hälst du denn nachfolgendes Posting ?
    Shade Of Mine schrieb:

    godlikebot schrieb:
    Aber warum ist das schlechter Stil? Gehts dabei nur darum, dass das 'C' schlecht ist oder sollte man Klassenprefixe generell vermeiden?

    C im speziellen ist extrem mies. T dito. Alles andere ist einfach nur normal mies.



  • Na, du musst nicht mehr die Maus drüberhalten, damit da steht "class Person". Ist doch super.
    Auch wenn du heute noch weisst, was eine Person ist, weisst du es vielleicht Morgen schon nicht mehr. Sowas kann man ganz schnell vergessen. 🙄



  • Vor allem, wenn man Typen immer groß schreibt und Namen von Funktionen und Instanzen immer klein, ist das trotzdem immer noch sehr wichtig, zu wissen, ob es ein Interface oder eine Klasse ist. Für die Benutzung eines Objekts oder einer Klasse ist das unglaublich wichtig.

    Achja, Ironie ende. 😉



  • Thanatos schrieb:

    1.) Als jemand der selbst programmiert nervt mich die Verwendung solcher Präfixe, andererseits hat mir das bei der Durchsicht fremder Quellcodes schon oft geholfen...

    Inwiefern?

    Thanatos schrieb:

    3.) Für wie sachlich oder wissensbasiert hälst du denn nachfolgendes Posting ?
    Shade Of Mine schrieb:

    godlikebot schrieb:
    Aber warum ist das schlechter Stil? Gehts dabei nur darum, dass das 'C' schlecht ist oder sollte man Klassenprefixe generell vermeiden?

    C im speziellen ist extrem mies. T dito. Alles andere ist einfach nur normal mies.

    Sachlich ja, von Seiten des Verfassers auch wissensbasiert. Der Beitrag bringt allerdings keine Argumente, doch wenn ich mich richtig erinnere hat Shade daraufhin den Link zu einem Topic und einem eigenen Artikel gepostet, in dem das Thema schon abgehandelt wurde.



  • Thanatos schrieb:

    3.) Für wie sachlich oder wissensbasiert hälst du denn nachfolgendes Posting ?
    Shade Of Mine schrieb:

    godlikebot schrieb:
    Aber warum ist das schlechter Stil? Gehts dabei nur darum, dass das 'C' schlecht ist oder sollte man Klassenprefixe generell vermeiden?

    C im speziellen ist extrem mies. T dito. Alles andere ist einfach nur normal mies.

    Für ziemlich.
    Schließlich habe ich direkt einen link gepostet und nachher noch einen zweiten.

    wenn du willst kannst du meinen artikel gerne zerpflücken - wir können die einzelnen argumente gerne ausdiskutieren.

    aber ich habe erst 2 jahre berufserfahrung - deshalb kann ich da wahrscheinlich nicht mitreden, oder?



  • Thanatos schrieb:

    Bekanntestes Schema ist immer noch die ungarische Notation.

    "Die ungarische Notation" gibt es in der Realität nicht (die gibt's eigentlich nur auf dem Papier und ist damit hauptsächlich für Schüler oder Studenten interessant). Charles Simonyi hat zwar mal eine sehr detaillierte Namenskonvention aufgestellt, die dann als "ungarische Notation" bekannt wurde, aber in der Praxis gibt es unzählige Derivate. Es gibt unzählige Variationen in der Benennung der Basisbestandteile. Hinzukommend verwenden nicht mal alle alle drei Basisbestandteille (base type, prefixes, qualifiers).

    Nach aktuellen Stand werden bei den meisten Firmen Namenskonventionen bevorzugt.

    Eine Firma ohne Namneskonventionen ist entweder sehr sehr klein oder unprofessionell, da unnötig unproduktiv.
    Die Tatsache, dass man Namenskonventionen verwendet hat aber natürlich keinen direkten Zusammenhang mit der ungarischen Notation. Diese ist ja nur eine mögliche Ausprägung einer Namenskonvention. Es gibt so ca. 1.763 Milliarden andere Namenskonventionen.

    Auf die Gewohnheiten die sich im Lauf der Zeit eingeschliffen haben, hat man als Newcomer sowieso keinen Einfluss. Also heisst es, damit zu Leben.

    Sehe ich ganz genauso. Eine Konvention an die sich jeder nur nach gutdünken hält ist sinnlos. Allerdins war die Frage nicht "ich arbeite als Newcomer bei IBM. Die verwenden dort Klassenpräfixe. Da ich die hässlich finde, wollte ich jetzt mal den gesamten Code umschreiben und dann die Chefs davon überzeugen Klassenpräfixe zu verbieten. Ist das eine gute Idee?"
    Der OP scheint ja erstmal für sich persönlich einen Weg zu suchen. Und wenn ich nicht gezwungen bin mit Präfixen wie C oder I zu arbeiten, gibt es auch überhaupt keinen Grund dafür sich freiwillig damit zu quälen.

    Und es gibt wahrhaft schlimmeres als Namenskonventionen mögen sie zuerst auch noch so ungewohnt sein.

    Wie heißt es doch so schön: Gute Variablennamen sind das A und O der Programmlesbarkeit. Da sich Namenskonventionen nun mal mit der Benennung von Variablen beschäftigen sind gute Namenskonventionen ein außerordentlich erstrebenswertes Ziel.

    Schüler oder Studenten ohne langjährige Berufserfahrung sollten vielleicht nicht ganz so absolut in ihren "Glaubengrundsätzen sein". 😉

    Warum nur Schüler oder Studenten? Kann ich jetzt daraus schließen, dass Menschen mit langjähriger Berufserfahrung ruhig absolut sein dürfen. Oder geht es sogar nochweiter: Was für Schüler und Studenten nur maximal "Glaubensgrundsätze" sein können, sind für Berufshelden längst objektiv anzuerkennende Fakten. Wenn du also sagst:

    Mich persönlich haben solche Präfix-Konventionen beim Einarbeiten in fremde Quellcodes schon häufig unterstützt

    dann muss die Welt dies als fundiertes Argumente hinnehmen wohingegen
    ein von einem Schüler/Student vorgetragenes

    C im speziellen ist extrem mies. T dito. Alles andere ist einfach nur normal mies

    nur ein "Glaubensgrundsatz" mit absolutistischem Anspruch ist, dass dringend in Frage gestellt werden muss.

    Merkwürdig das.



  • Hi HumeSikkins,

    inzwischen habe mir auch mal den von Shade of Mine angegebenen Thread angesehen. Hätte ich das zuerst getan hätte ich mir jeden Kommentar verkniffen. Darum ist das hier auch mein Schlusswort.

    Zum Schlussabschnitt deinee letzten Kommentars. Ich sehe da sehr wohl einen Unterschied. wenn ich schreibe:

    Mir persönlich hat...

    Dann geb ich damit, ziemlich deutlich hoffentlich zum Ausdruch, das etwas ganz allein meine persönlich Meinung zu etwas darstellt und ganz gewiss kein Glaubensgrundsatz ist.
    demgegenüber find ich nicht sehr sachlich oder argumentatativ zu schreiben.
    [url]C im speziellen ist extrem mies. T dito. Alles andere ist einfach nur normal mies[/url]
    Ob nun mit oder ohne beigefügtem Link würde ich das als Leser für die Verkündigung einer absoluten Wahrheit halten.

    Und wenn ich mit dieser Interpretation auch allein stehen sollte, wird die Welt auch davon nicht untergehen. 🙂 🙂 🙂 Servus



  • @Thanatos
    Mit der Form der zitierten Aussage von Shade gewinnt man sicher keinen Oscar, da sind wir uns einig. Und auch der Inhalt ist zwar extrem reduziert, bleibt auf der anderen Seite aber letztlich noch korrekt.
    Das Ganze zeigt imo ein generelles Problem in Foren: Entweder du diskutierst bestimmte Themen jedes Mal von vorne neu oder du schreibst bei der siebenhundertsten Wiederholung auch mal einen kurzen provokativen Satz der ein Wort wie 'Käse' oder 'Mies' enthält (am Besten mit einem zusätzlichen Link auf eine alte Diskussion). Immer mit der Hoffnung, dass neue Leser sich danach selbst ein wenig schlau machen bzw. an bestimmten Punkten einfach nachfragen.



  • Spricht eigentlich auch was gegen ein "m_" vor Membervariablen von Klassen?



  • Man nimmt ein _ als Suffix.

    beispiel_;



  • C++ Guru schrieb:

    Man nimmt ein _ als Suffix.

    beispiel_;

    Und warum nicht "m_" als präfix? 😕 😕
    Das klingt so schön nach member 🤡



  • godlikebot schrieb:

    Spricht eigentlich auch was gegen ein "m_" vor Membervariablen von Klassen?

    Naja, beim Programmieren ist das im Regelfall unangenehmer als ein _ am Ende, von wegen Code Completion und so...



  • Andererseits finde ich "bla_->" und "bla_." immer recht hässlich.
    Was man hier als Markierung nimmt (oder ob man überhaupt eine nimmt), ist wohl Geschmackssache. Zumindest kann ich mich nicht an eine überwältigende Argumentation für eine Variante erinnern. Ich war mit allem eigentlich gleich zufrieden 🙂



  • Ich hab mir mMembervariable angewöhnt, das ist übersichtlich und kann man schön schnell tippen.



  • operator void schrieb:

    Was man hier als Markierung nimmt (oder ob man überhaupt eine nimmt), ist wohl Geschmackssache.

    Wobei das "was" imo deutlich mehr Geschmacksache ist als das "ob". Das "ob" sollte man imo zumindest deutlich intensiver diskutieren.
    Was man am Ende dann für eine Markierung nimmt spielt eine untergeordnete Rolle.


Anmelden zum Antworten