Отличный рефакторинг с контролем версий - PullRequest
7 голосов
/ 02 октября 2008

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

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

Ответы [ 4 ]

4 голосов
/ 02 октября 2008

Eclipse может экспортировать историю рефакторинга (см. Также 3.2 примечания к выпуску ). Затем вы можете просмотреть изменения рефакторинга через предварительный просмотр в Eclipse.

2 голосов
/ 02 октября 2008

Я не знаю инструментов сравнения, которые хорошо работают, когда файл переставлен. В общем, это плохая идея из-за проблем такого типа. Слишком часто люди делают это, чтобы просто соответствовать своему стилю, что является плохой и плохой причиной для изменения кода. Он может эффективно уничтожить историю, как и переформатирование всего файла, и никогда не должен выполняться без необходимости (т. Е. Это уже беспорядок и нечитаемость).

Другая проблема заключается в том, что рабочий код, вероятно, будет поврежден из-за чьих-либо предпочтений стиля. Если он не сломан, не чините его!

0 голосов
/ 02 октября 2008

Функция Refactoring History является новой для меня, но мне нравится, как она звучит. Для менее специфичного метода я люблю отправлять файлы исправлений. Проверяющий просто применяет исправление и просматривает результаты, а затем он может вернуться к версии в управлении версиями после завершения.

0 голосов
/ 02 октября 2008

Я задал похожий вопрос некоторое время назад и так и не получил удовлетворительного ответа. Я буду следить за вашим вопросом, чтобы увидеть, что люди придумают.

Для вашей конкретной ситуации, возможно, лучше просмотреть последнюю версию файла, используя diff в качестве руководства. Именно этим я и занимаюсь в моей ситуации.

...