Обзор темы [Рефакторинг кода]

Замена параметра набором методов

(Replace Parameter with Explicit Methods)

Есть метод, в котором выполняется различный код в зависимости от перечислимого параметра.

Создать отдельный метод для каждого значения параметра.

void setValue (String Name, int value) {

if (name.equals(“height”)) _height = value;

if (name.equals(“widht”)) _widht = value;

Assert.shouldNeverReachHere();

)

 void setHeight(int arg) {

_height = arg;

}

void setWidht(int arg) {

_Widht = arg;

}

Используется, когда от параметра зависят действия, которые производит метод. Если есть вероятность, что значения параметра будут часто изменяться, можно применить Замену условия полиморфизмом