Hirdetés

Új hozzászólás Aktív témák

  • Jim-Y
    veterán

    Azt írtad, hogy
    return "You're getting plenty of sleep! Maybe even too much!";
    a
    return "You're getting plenty of sleep! Maybe even too much!";
    helyett, szóval sztem annyi a para, hogy beleraktál csomó szóközt a stringbe.

    Szerk.:
    (#4668) Jim-Y:
    Mármint már önmagában az az anti-pattern, hogy több return is van a függvényben? Sokszor ezek az úgynevezett nagy patternek, illetve anti-patternek szimplán bullshitek. :D Ez egy jó hülye kitaláció, hogy nem lehet több return egy függvényen/metóduson belül.
    Lehet simán olyan függvény/metódus, amiben tök szépen lerövidíti a kódot, hogy egy bizonyos feltétel teljesülése esetén azonnal visszatérsz, és még csak nem is írsz else-ágat, mert nyilván ha nem tért vissza, akkor az else-ágnak minősül (és ez most nem valami alacsonyszintű kód ugye, nem b@szakszunk ilyenekkel), és így megspórolsz egy hatalmas nagy beljebbtolt else-blokkot.

    Példa pszeudokóddal:
    function bullshit(){
    if(foo) {
    stuff = false;
    }
    else {
    ....
    ....
    ....
    ....
    ....
    ....
    stuff = true;
    }
    return stuff;
    }

    VAGY:

    function bullshit(){
    if(foo) {
    return false;
    }

    ....
    ....
    ....
    ....
    ....
    ....
    return true;
    }

    Nem, igazából ennek van értelme, bár, ja, kérdéses, hogy mennyi. Leginkább az lenne az értelme annak, hogy egy függvénynek csak egy kilépési pontja legyen, hogy jobban átlátható lesz tőle a függvény. A fejlesztő kognitív terheltsége csökken tőle. http://en.wikipedia.org/wiki/Cognitive_load

    Én hiszek abban, hogy az ilyen apró dolgok tesznek egy fejlesztőt jó fejlesztővé. Most nem azt mondom, hogy pont ez. De ha valaki figyel arra, hogy a kódja egyszerű legyen, egyszerűen olvasható legyen, az tesz valakit igazán jóvá. :)
    De amúgy igen, sokszor bullshit áll mögöttük, vagy csak vallási kérdés :)

    Lehet simán olyan függvény, amiben tök szépen lerövidíti a kódot, hogy egy bizonyos feltétel teljesülése esetén azonnal visszatérsz

    Így van, pont ezért írtam, hogy nem mindig lehetséges egy visszatérési pontot írni. Node környezetben ez elég gyakran előfordul. Az IDE mindig szól is érte btw :D .. nem mintha EZ számítana ^^ ..

Új hozzászólás Aktív témák