Konventionen



  • Wenn keine Konvention vom Projektleiter vorgeschrieben, dann schreibe so wie es für dich sauber und klar aussieht. Du darfst aber niemals den wichtigsten Punkt außer acht lassen: Sei konsequent. Jede Konvention ist relativ gut lesbar, solange sie konsequent durchgehalten wird.



  • Scheiss auf alle Konventionen und mach dein Ding.



  • Mark L. schrieb:

    Also gibt es da kein Dokument z.B. von ISO C++. Da müsste ich mir das Quasi selber zusammensuchen.

    Nein. Aber du kannst ja einfach schauen, wie die Klassen in ISO C++ benannt sind: Kleinschreibung und Worte mit _ getrennt.



  • Janjan schrieb:

    Jede Konvention ist relativ gut lesbar, solange sie nicht zu konsequent durchgehalten wird.

    ftfy
    🙂



  • rüdiger schrieb:

    Mark L. schrieb:

    Also gibt es da kein Dokument z.B. von ISO C++. Da müsste ich mir das Quasi selber zusammensuchen.

    Nein. Aber du kannst ja einfach schauen, wie die Klassen in ISO C++ benannt sind: Kleinschreibung und Worte mit _ getrennt.

    In vielen Sprachen werden Klassen aber groß geschrieben und die Methoden/Funktionen sowie Instanzen klein. Und selbstverständlich Konstanten komplett in Großbuchstaben. Tja und dann noch Anweisungsblöcke einrücken und alles am besten per Doxygenkommmentaren versehen. Dann fehlen nur noch aussagekräftige Bezeichnungen und lieber ein Befehl weniger in einer Zeile als mehr. Wenn du das beachtest denke ich bist du schonmal sehr gut im Rennen 😉



  • rüdiger schrieb:

    Wenn es keine anderen Regeln (zB vom Projektleiter) gibt, dann macht man es am besten so, wie es die Standardbibliothek der Programmiersprache macht. So ist es für die Programmierer ein gewohnter Stil und der Code leserlich.

    Auch das ist selbstverständlich Geschmackssache. Ich machs z.B. im normalen Programmcode bewusst nicht so und sehe deshalb schon am Code, was Bilbiotheksfunktionen (std, boost) sind und was programmspeizifisch ist.



  • Ehrlich gesagt finde ich den Stil der Std-Lib grausam.



  • struktur schrieb:

    rüdiger schrieb:

    Mark L. schrieb:

    Also gibt es da kein Dokument z.B. von ISO C++. Da müsste ich mir das Quasi selber zusammensuchen.

    Nein. Aber du kannst ja einfach schauen, wie die Klassen in ISO C++ benannt sind: Kleinschreibung und Worte mit _ getrennt.

    In vielen Sprachen werden Klassen aber groß geschrieben und die Methoden/Funktionen sowie Instanzen klein.

    In den Sprachen macht man es dann eben so... 🙄

    rüdiger schrieb:

    mfgdimi schrieb:

    Das hängt mindestens schon mal von der verwendeten Sprache ab.

    Wenn es keine anderen Regeln (zB vom Projektleiter) gibt, dann macht man es am besten so, wie es die Standardbibliothek der Programmiersprache macht. So ist es für die Programmierer ein gewohnter Stil und der Code leserlich.



  • struktur schrieb:

    rüdiger schrieb:

    Mark L. schrieb:

    Also gibt es da kein Dokument z.B. von ISO C++. Da müsste ich mir das Quasi selber zusammensuchen.

    Nein. Aber du kannst ja einfach schauen, wie die Klassen in ISO C++ benannt sind: Kleinschreibung und Worte mit _ getrennt.

    In vielen Sprachen werden Klassen aber groß geschrieben und die Methoden/Funktionen sowie Instanzen klein. Und selbstverständlich Konstanten komplett in Großbuchstaben. Tja und dann noch Anweisungsblöcke einrücken und alles am besten per Doxygenkommmentaren versehen. Dann fehlen nur noch aussagekräftige Bezeichnungen und lieber ein Befehl weniger in einer Zeile als mehr. Wenn du das beachtest denke ich bist du schonmal sehr gut im Rennen 😉

    Stimme ich zu, bis auf den Doxygenkommmentaren. Der Code sollte lesbar sein und es sollte klar sein auch ohne alles voll mit Kommentaren zu versehen. Am besten sind ja noch solche Kommentare, die den Code noch mal wiederholen, wie

    // Returns the foo
    int getFoo() { return foo; }
    

    Oder Kommentare, die das Beschreiben, was der Code beschreiben kann.
    Beispiele aus http://www.devtopics.com/13-tips-to-comment-your-code/

    // Check that all data records
    // are correct
    foreach (Record record in records)
    {
        if (rec.checkStatus()==Status.OK)
        {
            . . .
        }
    }
    // Now we begin to perform
    // transactions
    Context ctx = new ApplicationContext();
    ctx.BeginTransaction();
    . . .
    
    void beginTransactionIfDataRecordsAreCorrect() {
        checkThatDataRecordsAreCorrect(records);
        beginTransaction(records);
    }
    
    void checkThatDataRecordsAreCorrect(records) {
        foreach (Record record in records)
        {
            if (rec.checkStatus()==Status.OK)
            {
                . . .
            }
        }
    }
    
    void beginTransaction(records) {
        Context ctx = new ApplicationContext();
        ctx.BeginTransaction();
        . . .
    }
    

    Wieso können manche die Methode/Funktionen nicht nach das bennenen, was sie machen, oder müssen immer alles so kurz wie möglich zu schreiben?

    9. Comment code while writing it
    
        public void ProcessOrder() 
        {
            // Make sure the products are available
            // Check that the customer is valid
            // Send the order to the store
            // Generate bill
        }
    
    Write every step in it's own method
    
        public void ProcessOrder() 
        {
            if (productsAreNotAvailable()) { return; }
            if (customerIsNotValid()) { return; }
            sendOrderToStore();
            generateBill();
        }
    

    Tut es weh, Methoden zu erstellen?



  • Tyrdal schrieb:

    Ehrlich gesagt finde ich den Stil der Std-Lib grausam.

    👍


Anmelden zum Antworten