Sauberer Code



  • würde ich alles so machen wie alle anderen, bekäme ich auch nur die Codequalität, die alle anderen haben. Überlegungen zur Optimierung der Codelokalität führen mich zwangsläufig zu (void).

    mit dem Argument, es käme von C, müßte ich ja auch auf struct verzichten, weil es in C++ die Alternative class mit public gibt.



  • großbuchstaben schrieb:

    mit dem Argument, es käme von C

    Das ist nicht das Argument. Es ist in C genauso unnatürlich wie in C++, aber als Kompromiss wegen der K&R-Kompatibilität nicht zu vermeiden.



  • Ne, in C ist es sinnvoll.

    //C
    void f();
    f(42); //kompiliert
    void f(void);
    f(42); //error: f nimmt 0 parameter
    
    //C++
    void f();
    f(42); //Error: f nimmt 0 parameter
    

    void muss man in C für eine Funktion ohne Parameter angeben. In C++ ist es sinnloses Rauschen.



  • nwp3 schrieb:

    Ne, in C ist es sinnvoll.

    Ich meinte das vom Sprachdesign her. Dass es das gibt, und dass es in C benutzt werden sollte ist unstrittig.



  • es ist kein sinnloses Rauschen. (void) ermöglicht, Deklarationen von Funktionsaufrufen zu unterscheiden, ohne Kontext zu sehen.

    Code auf das Mininimum zu reduzieren, indem man jegliche Redundanz vermeidet, wäre eine Strategie, um etwa eine Platzierung beim Ioccc zu gewinnen.



  • großbuchstaben schrieb:

    es ist kein sinnloses Rauschen. (void) ermöglicht, Deklarationen von Funktionsaufrufen zu unterscheiden, ohne Kontext zu sehen.

    Man sieht aber immer Kontext in echtem Code.

    Was sollen das überhaupt für Deklarationen sein, die so aussehen?

    x();
    

  • Mod

    es ist kein sinnloses Rauschen.

    Mit der Meinung bist du ziemlich alleine. Ich glaube, das Argument ziehst du echt an den Haaren herbei.



  • "nein" - "doch" - "nein" - "wohl" - "nein" - .... 😃



  • Arcoth schrieb:

    es ist kein sinnloses Rauschen.

    Mit der Meinung bist du ziemlich alleine. Ich glaube, das Argument ziehst du echt an den Haaren herbei.

    Also ich verstehe ihn schon und finde nicht, dass das an den Haaren herbei gezogen ist. (Mache es aber wie gesagt selbst auch so, dass ich kein Void reinschreibe)



  • #define function
    
    function int main(){//an function erkenne ich, daß eine Funktion deklariert wird!!!
    }
    

Anmelden zum Antworten