📚
Lerndokumentationen
Prozesse
Prozesse
  • Willkommen
  • Agile Entwicklung
    • Was ist agile Enwicklung?
    • Agiles Manifest
    • Agile Prinzipien
    • Agile Werte
  • Scrum
    • Was ist Scrum?
    • Prinzipien
    • Werte
    • Rollen
    • Sprint
    • Meetings
    • Artefakte
    • Vision
    • Epics und User Stories
    • Priorisierung
    • Schätzung
    • Sprintplanung
    • Kanban
    • Release Planning
  • Extreme Programming
    • Was ist Extreme Programming?
    • Pair Programming
    • Test Driven Development
  • Clean Code
    • Was ist Clean Code?
    • Code Smells und Refactoring
      • Naming
      • Lange Parameterlisten
      • Magic Numbers
      • Verschachtelte Verzweigungen
      • Switch Statements
Bereitgestellt von GitBook
Auf dieser Seite
  1. Clean Code
  2. Code Smells und Refactoring

Switch Statements

VorherigeVerschachtelte Verzweigungen

Zuletzt aktualisiert vor 2 Monaten

Switch Statements widersprechen dem von Clean Code.

public class Bird 
{
    public BirdType Type { get; private set; }
    
    ..
    
    public double getSpeed()
    {
        switch (type)
        {
            case EUROPEAN:
                return getBaseSpeed();
            case AFRICAN:
                return getBaseSpeed() - getLoadFactor() * numberOfCoconuts;
            case NORWEGIAN_BLUE:
                return (isNailed) ? 0 : getBaseSpeed(voltage);
        }
        
        throw new BirdTypeException();
    }
}

In diesem Beispiel kann kein Vogel hinzugefügt werden, ohne den bestehenden Code zu verändern.


public abstract class Bird 
{
    public abstract double getSpeed();
}

public class European : Bird
{
    public override double getSpeed()
    {
        return getBaseSpeed();
    }
}

..

Open-Closed Prinzip