2017-08-29 1 views
0

ich eine Klasse und Methode in PHP schreibe, die Switch verwendet andere Methoden, die auf die spezifische URL abhängig zu nennen. Beispiel unten:php Schalter Code Geruch verwenden oder nicht

switch($this->clean([$_POST['task'])) 
{ 
    case "edit": 
     $this->editssomething(); 
    break; 
    case "save": 
     $this->savesomethingelse(); 
    break; 
    default: 
     $this->dodefault(); 
    break; 
} 

Ist das klassiert als Codegeruch, und soll ich es sein Refactoring oder könnte es als eine Factory-Klasse eingestuft werden.

Danke

+3

Mir scheint, dass dies genau das, was 'switch' war gemeint für. – BeetleJuice

+2

ist es normalerweise viel klarer als eine Menge 'if/else if' Blöcke. – ADyson

+0

Ich habe noch nie den Begriff "Code-Geruch" gehört, also danke, dass Sie mich darauf aufmerksam gemacht haben, dass es einen Namen dafür gibt.^ – GrumpyCrouton

Antwort

2

Das riecht gut, aber standardmäßig nicht braucht „break“, auch sollten Sie Ihre Funktion mit Kamel nennen oder „_“

switch($this->clean($_POST['task'])) 
{ 
    case "edit": 
     $this->editssomething(); 
    break; 

    case "save": 
     $this->savesomethingelse(); 
    break; 

    default: 
     $this->dodefault(); 
} 
Verwandte Themen