Sourcecodes eines miniSpiel



  • 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)



  • TGGC schrieb:

    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.

    Red dich nicht auf die eine Variable raus, das is überall so.
    PS: Du hast mir immer noch nicht erklärt, was ein GamePart überhaupt ist 😉

    mfg, René



  • endline schrieb:

    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.

    Jain.
    Ich halte generell wenig von Abkürzungen, das stimmt schon.

    Allerdings ist mir klar, dass es in den meisten Projekten Begriffe gibt, die sehr speziell sind. Bezeichner dafür kann man kaum "selbsterklärend" machen, ohne dass sie viel zu lange werden.
    Wenn so ein Bezeichner oft vorkommt, dann suche ich mir eine Kurzform dafür. Diese kann dann auch eine Abkürzung sein. Man kann aber auch einfach bestimmte Dinge weglassen, wenn diese nicht nötig sind. Wenn es in einem Projekt z.B. nur "elektronische" Seriennummern gibt, dann kann man den Teil schonmal weglassen. "InHexForm" wird zu "hex". Damit haben wir "hexSerialNumber", und das ist IMO noch nicht zu lange. Und finde ich verständlicher als "hexESN" oder gar "HESN".

    Und ich denke man sollte auch den Scope berücksichtigen. Lokale Variablen müssen keine *so* guten Namen haben, da man viel aus dem Funktionsnamen ableiten kann, bzw. aus dem umgebenden Code innerhalb der Funktion. Membervariablen, freie Funktionen, Klassen etc. sind da schon kritischer.



  • Ein GamePart ist hauptsaechlich dazu da, um die Resourcenverwaltung des Spieles zu ermoeglichen. Ein Spiel sollte in unserem Fall aus verschiedenen Abschnitten bestehen, die aber nicht alle die gleichen Resourcen benoetigen. z.b. das Intro benoetigt ein Video, das Hauptmenu benoetigt ein Hintergrundbild, Level x benoetigt Gegnergrafik y usw. Zudem gibt es dann einige Resourcen die fuer alle Parts verfuegbar sein muessen, wie die Bildschirmflaeche, auf die gezeichnet wird. Nun ergeben sich da auch noch gewisse Abhaengigkeiten technischer Natur. Wenn ich Gegnergrafik y in den Speicher der Grafikkarte lade (was ertsmal noetig ist, um diese performant darzustellen), so wird diese wieder entladen wenn der Grafikkartenspeicher fuer etwas anderes gebraucht wird, weil ich z.b. die Applikation wechsele. Der Manager der GameParts interagiert nun hier immer mit den einzelnen GameParts damit dies alles reibungslos klappt.

    Reicht das als grobe Uebersicht, oder soll ich fuer dich mehr ins Detail gehen. f'`8k

    Gruß, TGGC (der kostenlose DMC Download)


Anmelden zum Antworten