Это рефакторинг, который важен, так как это рефакторинг с единственной ответственностью, это решение СУХОГО сбоя!
Основная проблема с временными файлами (особенно в наивном коде, использующем длинные методы длиной в сотни строк!) Заключается в том, что они являются изменяемым локальным состоянием. Очевидный риск (как обсуждал Фаулер?) Состоит в том, что кто-то может внести изменения в середине длинного метода и что-то сломать в конце. (Видели эту стоимость понесено)
Нет тестов, этот метод имеет множество зависимостей - какой беспорядок! :)
Снять временную шкалу о рефакторинге в направлении единоличной ответственности.
Пример - сегодня я обнаружил ошибку, связанную с передачей неправильной временной переменной в службу. Если я удаляю temp (их несколько, все строки), эта ошибка (недосмотр) просто не может произойти.
Причина, по которой мой метод содержит временную переменную, заключается в том, что он выполняет работу, которую не должен ... и эта логика повторяется аналогичными классами ... все ли это согласованно? НЕТ!
Удалив temp, я также реорганизую код в класс с соответствующей ответственностью, которая может быть покрыта на 110% несколькими простыми тестами.
Нет огромного приспособления для тестирования чего-то тривиального
Если я назову что-нибудь дорогое, я верну результат в виде объекта значения / агрегата. Вероятно, «временный код» должен быть усвоен агрегатом.
Так что удаление temp подталкивает вас к централизованной (единоличной) ответственности -> SOLID!