Refactoring mit mehreren "if" - Anweisungen

Ich habe vor kurzem begonnen die Programmierung viel mehr für meinen job. Ich kann zwar in der Regel erhalten die Arbeit gemacht, meinen code nicht "riechen" Recht auf mich.

Wie würde ich es richtig umgestalten, so etwas wie dieses:

   def functiona()
   def functionb()
   def functionc()
   def functionn()

   if (a){
      functiona
   }
   elif (b){
      functionb
   }
   etc, etc, etc,

Für einige Kontext, ich bin die Einnahme einer großen XML-Datei hat ein Kontakt-Feld für jedes Objekt, das formatiert ist unterschiedlich, je nachdem, eine andere Eigenschaft des Objekts (D. H. der Agentur) und dann hab ich gemacht, alle diese Funktionen zu analysieren, das Feld Kontakt aus.

  • OO Sprache? Mehrere Dinge abhängig von der "Agentur"? Dein code ist ok, und alternativen werden mehr code und weniger transparent...
  • Ich bin mit groovy für diesen bestimmten code, aber ich war grundsätzlich neugierig, wenn es wurde ein design-Muster zu handhaben. Ich denke, mein Hauptproblem ist, dass alle diese freaking "if" - Anweisungen.
  • Im Grunde nur das an info, was verändert format, alles andere scheint universell standardisierte
  • Die standard-Antwort auf "mit was muss ich ersetzen-Bedingungen?", ist Polymorphismus. Ich bin nicht sicher, es gilt auch hier, aber es ist immer eine überlegung Wert.
InformationsquelleAutor Evan | 2014-04-08
Schreibe einen Kommentar