Иногда я нахожу, что у меня есть файл, который со временем вырос, чтобы содержать больше классов/функций/whatevers, чем мне нравится. Это время для рефакторинга! Обычно я обнаруживаю в этом случае, что мой один файл становится несколько: сам плюс несколько других файлов, каждый из которых содержит отдельные сегменты файла.
К сожалению, просто создание этих новых файлов "ломает" историю немного - трудно сказать, что эти функции изначально поступали из другого файла. Это еще хуже, если в процессе рефакторинга были внесены другие изменения в код.
Один из моих сотрудников обнаружил, что он может "злоупотреблять" переименованием, выполняя что-то вроде этого:
hg rename --after original_file new_file_1
hg rename --after original_file new_file_2
hg rename --after original_file new_file_3
hg add original_file
В результате каждый новый файл выглядит как переименование с остальной частью удаляемого файла, а исходный файл похож на то, что он потерял удаленные блоки. Пока это кажется идеальным. Тем не менее, я обеспокоен тем, что эти множественные переименования будут вызывать некоторые путаные слияния по линии.
Есть ли что-то не так с этим "множественным переименованием"?