return bei void-Funktion



  • Hallo Leute,

    ist es ok, wenn man am Ende einer void-Funktion ein return; macht? ....oder besser gefragt, ist dies ein schlechter Programmierstil?

    Beispiel:

    void myFunction()
    {
        // irgendeine Verarbeitung
        return;
    }
    

    Ich mache das so, weil es für mich auch eine optische Bestätigung ist. ...also ein "hier ist die Funktion zu Ende". Aber möglicherweise ist schlecht oder hässlich oder was auch immer.... Was meint ihr?

    ...achja noch so nebenbei: ist die Forensuche bei euch auch so extrem langsam? Bis ein Suchergebnis angezeigt wird, kann ich Apfelbäume säen und ernten 😞

    viele Grüße,
    SBond



  • SBond schrieb:

    Ich mache das so, weil es für mich auch eine optische Bestätigung ist. ...also ein "hier ist die Funktion zu Ende". Aber möglicherweise ist schlecht oder hässlich oder was auch immer.... Was meint ihr?

    Wenn du das Ende der Funktion nicht erkennst, ist sie vielleicht zu lang.



  • Hallo SBond,

    bei einer "void"-Funktion würde ich ein return nur in Ausnahmefällen verwenden.

    Ich persönlich verwende es in "void"-Funktionen nur dann, wenn ich vor erreichen des Funktions-Endes die Funktion verlassen möchte.

    Ein return in einer void-Funktion hat Vorteile, aber am ende der Funktion bringt sie keine.



  • ...ah ok 🙂

    In setter-Methoden von Klassen nutze ich ja eigentlich auch kein return. Meist nur in Funktionen, die mehr als 50 Zeilen haben. Danke euch 😃



  • Hi inflames2k

    Richtig, ich denke da kann man das return am Funktions-Ende weglassen
    bei void.
    Man kann ja auch per Kommentar das Ende der Funktion anzeigen.
    Ist bei längeren Quellcodes eh besser zu lesen.
    Etwa wie

    void myFunction()
    {
        // irgendeine Verarbeitung
    
    }
    // End of myFunktion
    

    Wobei ich mich an die eigene Nase fassen muß. Ich vergesse oft auch vorher
    den einleitenden Kommentar, der ist besser, wenn man den Code längere Zeit
    nicht angefasst hat. Verkürzt die Wiedereinarbeitungszeit.



  • SBond schrieb:

    [...] nur in Funktionen, die mehr als 50 Zeilen haben. [...]

    rustyoldguy schrieb:

    [...] Man kann ja auch per Kommentar das Ende der Funktion anzeigen. Ist bei längeren Quellcodes eh besser zu lesen. [...]

    ➡

    manni66 schrieb:

    Wenn du das Ende der Funktion nicht erkennst, ist sie vielleicht zu lang.

    🙄



  • Sinnfreie Kommentare ("Achtung, hier beginnt Funktion X, wartet, .... gleich kommts ....") sind furchtbar. Genau so schlimm wie Undocumentation.

    Und ein return am Ende einer Funktion... WTF?
    OKOK, ich schreib' auch bestimmte Statements die keinen Effekt haben. So wie das letzte break in nem switch . Ist für mich aber einfach 'was anderes. Bricht einfach total die Symmetrie wenn man das weglässt, sieht voll komisch/falsch aus.



  • nennen wir es mal code-ästhetik. Auch wenn das return keinen Zweck erfüllt, ich habe ohne immer ein wenig das Gefühl, dass etwas fehlt. 🙄

    ...wahrscheinlich stimmt was mit meinen Gefühlen nicht 😃



  • SBond schrieb:

    nennen wir es mal code-ästhetik. Auch wenn das return keinen Zweck erfüllt, ich habe ohne immer ein wenig das Gefühl, dass etwas fehlt. 🙄

    ...wahrscheinlich stimmt was mit meinen Gefühlen nicht 😃

    Ich hab ein komischen Gefühl, wenn bei

    void foo(){
       bla();
       if(!fopen(…))
          return throw BarException(__LINE__);
       blubb();
    }
    

    das return fehlt.
    ...wahrscheinlich stimmt was mit meinen Gefühlen nicht 😃



  • jap 🙂

    insbesondere solche Fälle meine ich 😃


Log in to reply