Какие продукты контроля версий имеют функцию «diff», которая игнорирует пробелы, фигурные скобки и т. Д. При расчете разницы между зарегистрированными версиями? Кажется, я помню, что diff Clearcase сделал это, но Visual SourceSafe (или, по крайней мере, версию, которую я использовал) не сделал.
Причина, по которой я спрашиваю, вероятно, довольно типична. У четырех совершенно разумных разработчиков в команде есть четыре совершенно разных способа форматирования их кода. После проверки кода, который последний раз был изменен кем-то другим, каждый немедленно запустит какую-то программу или макрос редактора, чтобы отформатировать вещи так, как им нравится. Они делают реальные изменения кода. Они регистрируют свои изменения. Они уходят в отпуск. Два дня спустя эта программа, которая работала нормально два года, взрывается. Разработчик, назначенный на ошибку, проводит различие между версиями и находит 204 различия, только 3 из которых имеют какое-либо значение, потому что алгоритм сравнения хромает.
Да, у вас могут быть стандарты кодирования. Большинство всех находит их ужасными. Решение, где каждый может съесть свой торт и съесть его, кажется гораздо более предпочтительным.
=========
РЕДАКТИРОВАТЬ: Спасибо всем за отличные предложения.
Что я забираю из этого:
(1) Предпочтительна система управления исходным кодом с подключаемыми типами diff.
(2) Найдите diff с подходящими параметрами.
(3) Используйте хорошую программу форматирования исходного кода и установите стандарт регистрации.
Звучит как план. Еще раз спасибо.