switch-case vs. if-else?



  • Hi,

    was spricht daegen, beides zu kombinieren?
    Ich hab für ein Syntaxhighlighting zuerst den Switch nach dem Anfangsbuchstaben genommen, und dann mit den konkreten Werten über ifs unterschieden.
    Alternativ kann es sich auch lohnen, wie man eine Schlange von 50 ifs binär zerlegt, so nach ner Art binärem Suchalgoritmus? Dann hat man zwar nie den kürzesten Fall, aber immer einen überschaubaren.
    Außerdem ist die Zahl der Fälle, wo es wirklich auf die letzte Milisekunde oder das letzte Byte ankommt recht gering.
    Viel wichtiger ist ein übersichtlicher Quelltext den man auch nach 5 Jahren noch begreift.
    Auch sehe ich

    void switch_test(int a)
    {
      switch(a)
      {
        case 1: x = 1; y = 2; z = 3; break;
        case 2: x = 2; y = 1; z = 3; break;
        case 3: x = 3; y = 2; z = 1; break;
      }
      return 0;
    }
    

    als um Welten übersichtlicher an als

    void switch_test(int a)
    {
      switch(a)
      {
        case 1:
          x = 1;
          y = 2;
          z = 3;
          break;
        case 2:
          x = 2;
          y = 1;
          z = 3;
          break;
        case 3:
          x = 3;
          y = 2;
          z = 1;
          break;
      }
      return 0;
    }
    

    Auch wenn sich dabei vielen die Fußnägel hochrollen.

    Gruß Mümmel


Anmelden zum Antworten