В настоящее время разработчики моей команды форматируют свой исходный код (C ++, C +, хранящийся в MS TFS 2012) вручную. Сейчас мы рассматриваем возможность использования опции автоматического форматирования в Visual Studio (возможно, с Uncrustify в качестве симпатичного механизма печати). Идея состояла бы в том, чтобы убедиться, что никто не имеет исходящих изменений, а затем отформатировать всю кодовую базу и зафиксировать результат. С этого момента мы интегрируем автоматическое форматирование в наш рабочий процесс.
Однако мы опасаемся, что впоследствии мы не сможем легко выяснить, кто сделал последние изменения в конкретной строке кода, используя Source Control / Annotate (эта информация часто бывает весьма полезной, например, для того, чтобы спросить соответствующего разработчика об этом коде). ).
Итак, вот мои два вопроса:
а) Есть ли у кого-нибудь опыт внедрения автоформатирования в рабочий процесс команды (учитывая уже существующую и довольно большую базу кода)? Есть ли лучшие практики для этого?
б) В частности: есть ли способ отформатировать нашу полную кодовую базу без потери исторической информации? Я мог бы, например, представьте себе инструмент, который бы отслеживал, куда делась каждая строка после форматирования, и настраивал историю TFS так, чтобы информация сохранялась. Тем не менее, я не нашел ничего подобного.
Аннотации действительно будут «испорчены» красивой печатью всего проекта. Я не знаю инструментов, которые могли бы обойти это.
Чтобы получить наименьшее количество проблем с историей, нужно, чтобы каждый разработчик выполнил предварительную проверку метода при внесении в него изменений, чтобы добавить функциональность или устранить ошибку, для распространения всей базы кода потребуется время, но это единственный способ, которым я знать о.
Других решений пока нет …