Sourcecodes eines miniSpiel



  • NewSoftzzz schrieb:

    GamePart

    WTF? 🙂



  • TGGC schrieb:

    Meinst du man sollte gp als "GamePart" dort ausschreiben?

    Ja, definitiv.

    Also wenn man weiss, was der Typ der Variablen ist, dann ist IMHO klar, was diese Zuweisung bedeutet.

    Code, wo ich erstmal gucken muss was für einen Typ eine Variable hat, damit ich weiss was sie soll, ist mir ein Graus. Wenn Klassen, Variablen und Funktionen gut benannt sind, muss man sehr sehr viel seltener irgendetwas nachsehen was "weit weg" von der aktuellen Zeile ist (z.B. in einem anderen File oder in einer anderen Funktion etc.)

    Mir hat sich die Zeile sofort erschlossen, obwohl ich sie 6 Jahre nicht mehr gesehen habe und sie hier voellig aus dem Kontext gerissen sehe, allein weil du sagst sie ist in der Gameschleife.

    Ist jetzt nicht unbedingt etwas besonderes wenn man seinen eigenen Code versteht, oder?



  • Diese Abkuerzung war Teil unserer damaligen Codekonventionen gewesen. Heute sage viele Konventionen, das man den Typ nicht mit in den Namen schreiben soll. Meine Tools koennen auch schon seit langem den Typ anzeigen, ohne das ich weit weg schauen muesste.

    Ansonsten wurde ja gefragt, wer erahnen kann, um was es geht, also kann man auf die Frage ja auch antworten. 😉

    Ich freue mich aber, das viele den Code so interessant finden, das sich so viele damit beschaeftigen. Das hatte ich urspruenglich nicht erwartet. f'`8k

    Gruß, TGGC (der kostenlose DMC Download)



  • hustbaer schrieb:

    TGGC schrieb:

    Meinst du man sollte gp als "GamePart" dort ausschreiben?

    Ja, definitiv.

    Nein, definitiv nicht immer. Wenn du schon viel programmiert hast, dann bist du des Ausschreibens irgendwann ueberdruessig geworden und hast erkannt, dass es voellig OK ist, kurze Variablennamen wie diese in einem lokalen Funktionsrumpf zu vergeben. Bei statischen Variablen oder Klassenmembern kannst du dir auch ein bisschen mehr Muhe geben und groessere Namen verwenden. Andernfalls bist du mehr mit Schreiben als mit Programmieren beschaeftigt.

    Edit: Um dein naechstes Argument mit IntelliSense oder sonstigen Eingabehilfen vorgezunehmen: das Lesen von langen Namen macht genauso muede.



  • endline schrieb:

    Wenn du schon viel programmiert hast, dann bist du des Ausschreibens irgendwann ueberdruessig geworden und hast erkannt, dass es voellig OK ist, kurze Variablennamen wie diese [...] zu vergeben.

    Ach so is das also, je länger man programmiert, desto eher darf man unleserlichen Quelltext erzeugen? Schönes elitäres Weltbild du hast.

    mfg, René



  • NewSoftzzz schrieb:

    endline schrieb:

    Wenn du schon viel programmiert hast, dann bist du des Ausschreibens irgendwann ueberdruessig geworden und hast erkannt, dass es voellig OK ist, kurze Variablennamen wie diese [...] zu vergeben.

    Ach so is das also, je länger man programmiert, desto eher darf man unleserlichen Quelltext erzeugen? Schönes elitäres Weltbild du hast.

    Dein Problem ist lediglich dieses hier: gekuerzt -> unleserlich.

    Beispiele:

    Du schreibst in deinem Algo lieber 'identifier' statt 'id'.
    Du schreibst in deinem Algo lieber 'electronicSerialNumberInHexadecimalForm' statt 'esn'.

    Oder noch schlimmer: Du verwendest die ungarische Notation.

    Quellcode ist nun halt kein Roman.



  • endline schrieb:

    Du schreibst in deinem Algo lieber 'identifier' statt 'id'.
    Du schreibst in deinem Algo lieber 'electronicSerialNumberInHexadecimalForm' statt 'esn'.

    ID ist ne geläufige Abkürzung, völlig i.O.
    Aber 'esn' sollte man mindestens 'serial' nennen, das ist nämlich keine geläufige Abkürzung. (allerdings weiß ich nicht, ob das in dem Bereich geläufig ist.. Dann wäre das natürlich okay)

    mfg, René



  • http://geosoft.no/development/cppstyle.html#Specific

    Da runterscrollen bis:

    28. Abbreviations in names should be avoided.

    mfg, René



  • NewSoftzzz schrieb:

    endline schrieb:

    Du schreibst in deinem Algo lieber 'identifier' statt 'id'.
    Du schreibst in deinem Algo lieber 'electronicSerialNumberInHexadecimalForm' statt 'esn'.

    ID ist ne geläufige Abkürzung, völlig i.O.
    Aber 'esn' sollte man mindestens 'serial' nennen, das ist nämlich keine geläufige Abkürzung.

    mfg, René

    Yep, in einem fremden Projekt ist dir ein Begriff/Abkuerzung dann auch gelaeufig, sobald die Bedeutung verstanden wurde. Kein Grund, jede Kleinigkeit an jeder Stelle auf Teufel komm raus auszuschreiben. 'esn' kann sich viel schneller ins Gedaechtnis (von mir aus auch fotografisches Gedaechtnis) einbrennen, sobald dir der Kontext klar ist. 'serial' dagegen hat zuviele abstrakte Bedeutungen, die sich je nach Zusammenhang aendern koennen.



  • endline schrieb:

    Yep, in einem fremden Projekt ist dir ein Begriff/Abkuerzung dann auch gelaeufig, sobald die Bedeutung verstanden wurde.

    Das is dann schlecht. Ist halt meine Meinung, sorry 😉

    mfg, René



  • NewSoftzzz schrieb:

    http://geosoft.no/development/cppstyle.html#Specific

    Da runterscrollen bis:

    28. Abbreviations in names should be avoided.

    mfg, René

    There are two types of words to consider. First are the common words listed in a language dictionary. These must never be abbreviated. Never write:
    cmd instead of command
    cp instead of copy
    pt instead of point
    comp instead of compute
    init instead of initialize

    So ein Quark. Wenn ich 'cmd' lese, kann ich nicht anders als an Command/Command.exe denken.

    class SomeClass {
    private:
    int length_;
    }

    Vielleicht suchst du lieber eine neuere Seite. Die einen sagen lenth_, die anderen m_length, wieder weiter meinen this->length.



  • NewSoftzzz schrieb:

    endline schrieb:

    Yep, in einem fremden Projekt ist dir ein Begriff/Abkuerzung dann auch gelaeufig, sobald die Bedeutung verstanden wurde.

    Das is dann schlecht. Ist halt meine Meinung, sorry 😉

    mfg, René

    Das ist keine besondere Gabe. Um das eine Beispiel nochmal aufzugreifen: wenn in einem Projekt oft eine "electronical serial number" verwendet wird, weil sich das ganze Projekt um elektronische Seriennummern dreht, dann wird auch die Abkuerzung ESN gelaeufig. In einem lokalen Algorithmus, in dem der Variablenname oft verwendet wird, liegt die Schwierigkeit eher darin, den Algo zu verstehen, statt die Bedeutung des Namens zu erraten.



  • NewSoftzzz schrieb:

    http://geosoft.no/development/cppstyle.html#Specific

    Da runterscrollen bis:

    28. Abbreviations in names should be avoided.

    Das irgend eine beliebige Seite diese Codekonvention veroeffentlicht, ist kein Argument. f'`8k

    Gruß, TGGC (der kostenlose DMC Download)



  • endline schrieb:

    hustbaer schrieb:

    TGGC schrieb:

    Meinst du man sollte gp als "GamePart" dort ausschreiben?

    Ja, definitiv.

    Nein, definitiv nicht immer. Wenn du schon viel programmiert hast, dann bist du des Ausschreibens irgendwann ueberdruessig geworden und hast erkannt,

    Alter, gehts noch arroganter?
    Danke, ich habe in meinem Leben schon genug programmiert. Ich denke ich weiss wovon ich rede.

    Kleiner Tip: GamePart != electronicSerialNumberInHexadecimalFormWhenTheWindBlowsFromNorthOtherwiseSomethingElseOrMaybeEvenNothing

    Ich habe nie behauptet dass man immer alles ausschreiben müsste. Aber GamePart, hallo? Ja, klar, schlimm, 8 Buchstaben, muss sofort abgekürzt werden!!!11



  • Wie wär's mit der klassischen Verkürzungsform, daß man nur die Vokale wegmacht?
    gmprt (GamePart)
    cmmnd http://pastebin.com/g7DSKMeV
    lctrncsrlnmbr http://pastebin.com/higR01EE
    dntfrfmpl http://pastebin.com/hbAENhqz
    Und um in Richtung purer Obfuskation zu kommen, wie zwar UN zu benutzen, dann aber weitestmöglich abzuweichen, gp==gamePart statt global Pointer):
    frq http://pastebin.com/Fu3xr4ZH

    Da es nicht so sehr auf das Lesen des Codes ankommt, denn man macht ja keine Fehler, sondern nur aufs Schonen der Finger beim Schreiben, sollte man immer wenigstens dieses Mindesmaß der Verkürzung anstreben.



  • volkard schrieb:

    Wie wär's mit der klassischen Verkürzungsform, daß man nur die Vokale wegmacht?

    Abgelehnt 😃 (Deine Beispiele sind unlesbar!)

    mfg, René



  • m_pgpActual= gpNext;
    

    War das nicht eh auch nach der "Konvention" falsch? Rechts stand doch bestimmt ein Zeiger.

    m_pgpActual= pgpNext;
    

    Oder heißt links pgp pointer to game part und rechts heißt gp doch global pointer?



  • hustbaer schrieb:

    Kleiner Tip: GamePart != electronicSerialNumberInHexadecimalFormWhenTheWindBlowsFromNorthOtherwiseSomethingElseOrMaybeEvenNothing

    Ich habe nie behauptet dass man immer alles ausschreiben müsste. Aber GamePart, hallo? Ja, klar, schlimm, 8 Buchstaben, muss sofort abgekürzt werden!!!11

    Naja, ich hatte den Eindruck, als waerst du ein leidenschaftlicher Ausschreiber. GamePart braucht man nicht abkuerzen, da stimm ich zu, es gebe keinen Nutzwert. Das Problem tritt dann auf, wenn es ein Bestandteil eines laengeren Namens ist. Wer will da schon mit einem electronicSerialNumberInHexadecimalFormWhenTheWindBlowsFromNorthOtherwiseSomethingElseOrMaybeEvenNothing enden.



  • volkard schrieb:

    Wie wär's mit der klassischen Verkürzungsform, daß man nur die Vokale wegmacht?
    gmprt (GamePart)
    cmmnd http://pastebin.com/g7DSKMeV
    lctrncsrlnmbr http://pastebin.com/higR01EE
    dntfrfmpl http://pastebin.com/hbAENhqz
    Und um in Richtung purer Obfuskation zu kommen, wie zwar UN zu benutzen, dann aber weitestmöglich abzuweichen, gp==gamePart statt global Pointer):
    frq http://pastebin.com/Fu3xr4ZH

    Da es nicht so sehr auf das Lesen des Codes ankommt, denn man macht ja keine Fehler, sondern nur aufs Schonen der Finger beim Schreiben, sollte man immer wenigstens dieses Mindesmaß der Verkürzung anstreben.

    ^^ oha... das sieht ja schrecklich aus.
    Wie wäre es wenn wir die Mitlaute weg machen 🙂
    Oder gleich beides 🤡

    Hab mir den Code nicht angetan. Aber wenns ein game ist, ist dann nicht alles ein Part davon?



  • endline schrieb:

    GamePart braucht man nicht abkuerzen, da stimm ich zu, es gebe keinen Nutzwert.

    Ich denke ihr habt recht das man den Namen des Members nicht unbedingt abkuerzen muesste und dann der Sinn moegtlicherweise fuer manche Leser leichter zu erkennen waere. Fuer die lokale Variable, die drei Zeilen darueber deklariert wird und 2 Zeilen danach out of Scope geht ist das aber IMHO eine andere Sache.

    Aber schoen, das sich nun doch noch eine lebhafte Diskussion entspannt. Und solange nur einzelne Variablennamen kritisiert werden, haben wir wenigstens nicht alles falsch gemacht! f'`8k

    Gruß, TGGC (der kostenlose DMC Download)


Anmelden zum Antworten