Sauber programmieren - Wie würdet ihr es machen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sauber programmieren - Wie würdet ihr es machen

    hi, mich interessiert mal eure Meinung, welche Variante davon ihr nehmen würdet:

    PHP Code:
    // VARIANTE 1
    $tpl = new template();
    $tpl->set_language('irgendwas');

    if(
    $a == $b)
    {
     
    //
     
    exit;
    }
    elseif (
    $c == $d)
    {
      
    $tpl->irgendwas('irgendwas');

    }
    else
    {
      
    $tpl->was_anderes('blabla');
    }

    $tpl->ersetze('irgendwas irgendwoher');
    echo 
    $tpl->display('template.tpl'); 
    PHP Code:
    // VARIANTE 2
    if($a == $b)
    {
     exit;
    }
    elseif (
    $c == $d)
    {
      
    $tpl = new template();
      
    $tpl->set_language('irgendwas');

      
    $tpl->irgendwas('irgendwas 1');

    }
    else
    {
      
    $tpl = new template();
      
    $tpl->set_language('irgendwas');

      
    $tpl->was_anderes('blabla');
    }

    $tpl->ersetze('irgendwas irgendwoher');
    echo 
    $tpl->display('template.tpl'); 
    PHP Code:
    // VARIANTE 3
    if($a == $b)
    {
     exit;
    }
    elseif (
    $c == $d)
    {
      
    $tpl = new template();
      
    $tpl->set_language('irgendwas');

      
    $tpl->irgendwas('irgendwas 1');

      
    $tpl->ersetze('irgendwas irgendwoher');
      echo 
    $tpl->display('template.tpl');

    }
    else
    {
      
    $tpl = new template();
      
    $tpl->set_language('irgendwas');

      
    $tpl->was_anderes('blabla');

      
    $tpl->ersetze('irgendwas irgendwoher');
      echo 
    $tpl->display('template.tpl');

    so, welche variante würdet ihr nehmen?
    Last edited by Benny-one; 25-10-2005, 20:40.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

  • #2
    nummer 3, wieso? du erzeugst du fuer jeden fall ein eigenes objekt und operierst dann darauf wie erforderlich.

    man könnte versucht sein zu sagen "nee, 1 is doch viel besser, weil das objekt wird ja sowieso benutzt".

    das wäre aber aus objektorientierter bzw. realer sicht so, als würde man geboren und guckt einfach mal ein paar jahre später, obs denn nun ein junge oder ein mädchen wird.

    für die paar zeilen mehr, da stört sich heutzutage keiner dran. freunde der prozeduralen programmierung sehen das natuerlich komplett anders

    Comment


    • #3
      Es kommt darauf an, wie du programmieren willst.

      Zeit sparen beim coden? Wartungsfreundlich? Performance?


      Ich würde das 1. nehmen. Wieso? Mein Gedanke von sauberem Coding ist die Vermeidung von redundantem Code. Wenn ich es ändern will, muss ich ja mehrfach Sachen ändern anstatt nur 1x.

      Das bisschen an Performance ist mir da wirklich egal...

      Wie es jetzt jeder selber machen will, ist ihm überlassen. Beebob würde es so machen, ich wieder anders. Für mich wäre z.B. der Ausdruck $a == $b unsauber.
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Comment


      • #4
        Var 1: instanz wird immer erzeugt, auch dann, wenn $a == $b ist und die instanz dort garnicht benötigt wird.

        Var 2: Ich erzeuge die Instanz nur, wenn ich sie auch brauche. Im falle von $a == $b wird jedoch unten die nicht vorhandene instanz verwendet. Zwar ist nach $a == $b ein exit; aber sauber scheint mir das nicht.

        Var 3: Sauberste Variante. Vermutlich die Performencebeste Variante, jedoch nicht Wartungsfreundlich.

        Ich denke, ich werde Var 3 nehmen, da Var 2 einfach nicht sauber ist. Und von Var 1 wollen wir ja garnicht erst anfangen ^^
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Comment


        • #5
          PHP Code:
          // VARIANTE 4
          if($a != $b) {
              
          $tpl = new template();
              
          $tpl->set_language('irgendwas');
              if (
          $c == $d) {
                  
          $tpl->irgendwas('irgendwas 1');
              } else {
                  
          $tpl->was_anderes('blabla');
              }
              
          $tpl->ersetze('irgendwas irgendwoher');
              echo 
          $tpl->display('template.tpl');

          Comment


          • #6
            PHP Code:
            if ($a == $b) {
                exit;
            }

            $tpl = new template();
            $tpl->set_language('irgendwas');

            if (
            $c == $d) {
                
            $tpl->irgendwas('irgendwas');
            } else {
                
            $tpl->was_anderes('blabla');
            }

            $tpl->ersetze('irgendwas irgendwoher');
            echo 
            $tpl->display('template.tpl'); 
            Template anlegen musst du sonst in jedem if/elseif/else-Block und wehe dir, du musst da mal irgendwas ändern, einen Block vergisst du garantiert.

            btw: Die Methode display solltest du umbenennen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Comment

            Working...
            X