Иногда я обнаруживаю, что у меня есть файл, который со временем разросся и содержит больше классов/функций/чего угодно, чем мне нравится. Пришло время провести рефакторинг! Обычно в этом случае я обнаруживаю, что один мой файл становится несколькими :плюс несколько других файлов, каждый из которых содержит отдельные сегменты файла.
К сожалению, простое создание этих новых файлов немного "ломает" историю. --Трудно сказать, что эти функции изначально взяты из другого файла. Еще хуже, если при рефакторинге в код были внесены какие-либо другие изменения.
Один из моих коллег обнаружил, что он может «злоупотреблять» функцией переименования, делая что-то вроде этого:
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
В результате каждый из новых файлов выглядит как переименование с удаленной остальной частью файла, а исходный файл похоже, что он потерял удаленные блоки. Пока это кажется идеальным. Тем не менее, я обеспокоен тем, что эти множественные переименования вызовут некоторые запутанные слияния в будущем.
Есть ли что-то неправильное в подходе «множественных переименований»?