Zpo-5-wyk-Slajd36
Switch Statements
Niepoprawne wykorzystanie instrukcji wyboru i warunkowej w dużym stopniu wpływa na skomplikowanie przepływu sterowania w programie. Rozbudowane warunki oraz gałęzie kodu wykonywane po ich spełnieniu lub odrzuceniu przypominają zasady programowania strukturalnego, a przede wszystkim utrudniają zrozumienie ich sensu.
Pierwszym krokiem w kierunku usunięcia tego problemu jest ponownie wyłączenie fragmentów do nowych metod o intuicyjnych nazwach – w wielu przypadkach jest to rozwiązanie wystarczające. W innych można podzielić instrukcje warunkowe korzystając z mechanizmów obiektowych: polimorfizmu (każda gałąź staje się osobną implementacją tego samego interfejsu) lub dziedziczenie (każda podklasa reprezentuje jedną z gałęzi). Wówczas problem sterowania warunkami sprowadza się do tworzenia obiektów odpowiednich klas, a nie wyboru pomiędzy długimi blokami kodu.