0
Завершено
Неудачный пример
Похоже, что это не совсем удачный пример..
https://refactoring.guru/home/slides/long-method/7/
double CalculateTotal() { if (BasePrice() > 1000) { return BasePrice() * 0.95; } else { return BasePrice() * 0.98; } } double BasePrice() { return quantity * itemPrice; }
Здесь метод BasePrice вызывается несколько раз и это может научить людей плохому..
Solution
Solution
Завершено
Иван, спасибо за комментарий!
Вы не поверите, но это, пожалуй, один из самых обсуждаемых примеров за все время жизни проекта. Я соглашусь, что пример сам по себе не очень убедительный. Сам бы я тоже скорей всего не трогал первоначальный код, если бы не планировал дальнейших изменений.
Однако даже с таким применением, есть не совсем очевидная польза. Вы можете нарезать получившийся метод на подметоды, не волнуясь о переносе переменных.
Service d'assistance aux clients par UserEcho
Иван, спасибо за комментарий!
Вы не поверите, но это, пожалуй, один из самых обсуждаемых примеров за все время жизни проекта. Я соглашусь, что пример сам по себе не очень убедительный. Сам бы я тоже скорей всего не трогал первоначальный код, если бы не планировал дальнейших изменений.
Однако даже с таким применением, есть не совсем очевидная польза. Вы можете нарезать получившийся метод на подметоды, не волнуясь о переносе переменных.