Хороший рефакторинг с контролем версий

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

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
7
0
461
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

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

Мне нравится эта идея, если они версируются для других, и в комментариях есть ссылки!

oreoshake 02.10.2008 23:10

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

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

Рефакторинг - это вообще плохая идея? Интересно! (Защитник дьявола, но вы смешали это с "файл был оформлен)"

O'Rooney 20.09.2012 03:38

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

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

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

Другие вопросы по теме