Мой коллега попросил меня просмотреть часть моего кода, и он отправил мне файл сравнения. Я не новичок в различиях или управлении версиями в целом, но файл различий было очень трудно читать из-за внесенных им изменений. В частности, он использовал функцию «извлечения метода» и изменил порядок некоторых методов. Концептуально, очень легко понять, но, глядя на разницу, было очень сложно сказать, что он сделал. Мне было намного проще проверить предыдущую ревизию и использовать функцию «сравнения» Eclipse, но она все еще была довольно неуклюжей.
Есть ли какая-либо система контроля версий, в которой хранятся метаданные, связанные с рефакторингом. Конечно, это будет зависеть от IDE и языка программирования, но все мы используем Eclipse и Java! Возможно, существует какой-то стандарт, на котором IDE и реализации управления версиями могут хорошо работать?




Eclipse может экспорт истории рефакторинга (см. Также 3.2 примечания к выпуску). Затем вы можете просмотреть изменения рефакторинга через предварительный просмотр в Eclipse.
Я не знаю инструментов сравнения, которые бы хорошо справлялись с перестановкой файла. В общем, это плохая идея из-за проблем такого типа. Слишком часто люди делают это, чтобы просто соответствовать своему собственному стилю, что является плохой причиной для изменения кода. Это может эффективно уничтожить историю, как и переформатирование всего файла, и никогда не должно выполняться без необходимости (т.е. это уже беспорядок и нечитаемый).
Другая проблема заключается в том, что рабочий код, скорее всего, сломается из-за чьих-либо предпочтений стиля. Если он не сломан, не чините его!
Рефакторинг - это вообще плохая идея? Интересно! (Защитник дьявола, но вы смешали это с "файл был оформлен)"
Я спросил аналогичный вопрос некоторое время назад и так и не получил удовлетворительного ответа. Я буду следить за вашим вопросом, чтобы увидеть, что люди придумают.
Для вашей конкретной ситуации может быть лучше просмотреть последнюю версию файла, используя diff в качестве руководства. То же самое я делал и в своей ситуации.
Функция истории рефакторинга нова для меня, но мне нравится, как она звучит. Для менее специфичного для инструмента метода мне нравится отправлять файлы с исправлениями. Проверяющий просто применяет исправление и просматривает результаты, а затем он может вернуться к версии в системе управления версиями, когда они будут закончены.
Мне нравится эта идея, если они версируются для других, и в комментариях есть ссылки!