воскресенье, 17 января 2016 г.

Рефакторинг: превосходи ожидания

Такая история:
Жила-была функция: VirtualFile trySearchPath(Module module, String name)
строк на 15-20 и где-то рядом был копипаст из нее, отличающийся значением локальной переменной.


Копипаст
Сначала бьло так

Закончив прототипировать, я подумал, что надо бы заменить копипаст на вызов trySearchPath(), вынеся отличающуюся переменную в параметр.
Для чего, как цивилизованный человек, решил использовать соответствующий рефакторинг - Extract parameter.
После чего планировал убрать становившийся лишним параметр module и, собственно, заменить копипаст на вызов.
Однако, произведя рефакторинг, IDEA сама предложила заменить дубликат кода на вызов trySearchPath() с правильным аргументом и сама же избавилась от лишнего параметра.
Т.е. вручную делать вообще ничего не пришлось. Даже название для параметра сама придумала!
Вроде довольно давно использую, целенаправленно изучаю, но сюрпризы (приятные, что немаловажно!) все равно преподносит.
Такие дела.
Предложение от IDEA убрать копипаст
Предложение от IDEA убрать копипаст

Теперь порядок
Порядок!

Комментариев нет:

Отправить комментарий