if und else



  • Ich finde

    fkt(blah ? a : b)
    

    noch übersichtlicher 😉 .



  • SideWinder schrieb:

    Was hat Zeileneinsparung mit Übersichtlichkeit zu tun? des Öfteren ist genau das Gegenteil der Fall.

    Zeilen einsparen hat sehr wohl was mit Übersichtlichkeit zu tun. Guter Code ist oft sehr kurz. Daß das Gegenteil der Fall sein soll halte ich für Quatsch. Der Code sollte zu kurz wie möglich sein. (aber so lang wie nötig!) So kann man sich gut auf eine Passage konzentrieren, weil sie schön kurz ist.
    Außerdem bringt kurzer Code die Intention meist besser auf den Punkt. Denn um die gleiche Information mit weniger Text zu übertragen benötigt man eine bessere Präzision.



  • Walli schrieb:

    Ich finde

    fkt(blah ? a : b)
    

    noch übersichtlicher 😉 .

    naja bei blah handelt es sich um einen zeiger 😉

    ausserdem sollte das bei dir dann

    !blah ? a : b
    

    heissen

    mfg



  • Zeilen einsparen hat sehr wohl was mit Übersichtlichkeit zu tun. Guter Code ist oft sehr kurz.

    guter code ist gut, weil er gut designt ist, nicht verkrüppelt durch komische sprachkonstrukte!



  • otze schrieb:

    Zeilen einsparen hat sehr wohl was mit Übersichtlichkeit zu tun. Guter Code ist oft sehr kurz.

    guter code ist gut, weil er gut designt ist, nicht verkrüppelt durch komische sprachkonstrukte!

    Ja, un dich sage: noch dazu ist er oft kurz.

    ich schrieb nicht: kurzer Code ist gut, sondern guter Code ist kurz!
    Zumindest wollte ich das ausdrücken. 😉

    Daher auch das so kurz wie möglich, aber so lang wie nötig. Auf keinen Fall kürzer!



  • lookias schrieb:

    Walli schrieb:

    Ich finde

    fkt(blah ? a : b)
    

    noch übersichtlicher 😉 .

    naja bei blah handelt es sich um einen zeiger 😉

    ausserdem sollte das bei dir dann

    !blah ? a : b
    

    heissen

    Eh, meine ich ja. Hatte vergessen das a und b zu tauschen.

    fkt(blah ? b : a)
    

    So ist richtig...



  • ich hab das mal bei nem dozenten in einem demonstrationsprogramm gesehen,
    irgendwie fand ichs komisch weil das ne anfaenger veranstaltung war.

    aber fuer jemanden der das kennt denke ich kann das gezielt eingesetzt ganz praktisch sein,
    obwohl ich natuerlich nich die kompetenz besitze hier mitzureden

    mfg



  • Daher auch das so kurz wie möglich, aber so lang wie nötig. Auf keinen Fall kürzer!

    Ich weiß, worauf die hinaus willst, ich möchte nur darauf hinweisen, dass das nicht toller Code ist nur weil man Zeilen gespart hat:

    for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
    

    MfG SideWinder



  • es kommt ja nicht nur drauf an was man selbst übersichtlicher findet, sondern was die Allgemeinheit derer, die sich den Code irgendwann antun müssen (weiterentwicklung, wartung etc.) übersichtlicher findet.

    Wenn das nur du selbst bist ists dir natürlich freigestellt, aber schon wenn du die Möglichkeit in Betracht ziehst, bei Problemen mal hier oder andernorts nachzufragen, solltest du die if-else-schreibweise bevorzugen.

    Apropos Übersichtlich:

    set(a);
    b = set_b();
    while (a!=b)
      {
      if (a>0) a--;
      else if (a<0)
        {
        b--;
        a++;
        foo(b);
        }
      else b = 0;
      foo2(b);
      }
    

    kann man auch "übersichtlicher" schreiben:

    for(set(a),b=set_b();a!=b;((a>0)?a--:(a<0)?(a++,foo(--b)):b=0),foo2(b)){}
    

    /edit: mist, zu spät ^^



  • Ich find beide varianten nicht sonderlich übersichtlich ;P

    Code sollte lesbar sein - das ist er manchmal eher mit einem if, manchmal mit einem ?:, und meistens überhaupt nicht.

    Wolln' wir uns mal über was richtiges streiten? Wieviele Zeichen pro Zeile maximal? 🕶



  • 80 Zeichen, damit man den Code evtl. noch vernünftig ausrucken kann. 😉

    Bedingte Zuweisungen sind fein, man sollte nur darauf achten, dass man sie nicht zu kompliziert macht, eine gute Mischung aus beidem ist, denke ich, angebracht, aber situationsbedingt.


Anmelden zum Antworten