Замена параметра вызовом метода (Replace Parameter with Method)
Полезность страницы:
0/100
Объект вызывает метод, затем передает полученное значение в другой метод, который может сам вызвать этот метод.
Удалить параметр и вызывать метод из тела использующего параметр метода.
int basePrice = _quantity * _itemPrice; discountLevel = getDiscountLevel(); double finalPrice = discountedPrice (basePrice,DiscountLevel);
int basePrice = _quantity * _itemPrice; double finalPrice = discountedPrice (basePrice);
Данный рефакторинг уменьшает список параметров, что положительно влияет на читаемость кода.
Параметр не убирается, если его вычисление, всвою очередь, также зависят от параметра метода, в теле которого все это происходит, так как он изменяется при каждом новом вызове. Также он не убирается, если рассматриваемый метод не имеет доступа к передающему параметр, и эту связь по каким-то причинам вводить нельзя.
Комментарии