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

Замена параметра вызовом метода

(Replace Parameter with Method)

Объект вызывает метод, затем передает полученное значение в другой метод, который может сам вызвать этот метод.

Удалить параметр и вызывать метод из тела использующего параметр метода.

int basePrice = _quantity * _itemPrice;

discountLevel = getDiscountLevel();

double finalPrice = discountedPrice (basePrice,DiscountLevel);

int basePrice = _quantity * _itemPrice;

double finalPrice = discountedPrice (basePrice);

Данный рефакторинг уменьшает список параметров, что положительно влияет на читаемость кода.

Параметр не убирается, если его вычисление, всвою очередь, также зависят от параметра метода, в теле которого все это происходит, так как он изменяется при каждом новом вызове. Также он не убирается, если рассматриваемый метод не имеет доступа к передающему параметр, и эту связь по каким-то причинам вводить нельзя.