目前,我团队的开发人员手动格式化他们的源代码(C ++,C +,存储在MS的TFS 2012中)。我们现在正在考虑使用Visual Studio的自动格式化选项(可能使用Uncrustify作为漂亮的打印引擎)。我们的想法是确保没有任何传出更改,然后格式化整个代码库并提交结果。从那时起,我们会将自动格式集成到我们的工作流程中。
然而,我们担心的是,我们之后将无法使用Source Control / Annotate轻松找出谁在特定代码行上完成了最后一次更改(该信息通常非常有用,例如询问相关开发人员关于那段代码。)
所以这是我的两个问题:
a)是否有人有将自动格式化引入团队工作流程的经验(鉴于现有且相当大的代码库)?对此有什么最佳做法吗?
b)特别是:有没有办法在不丢失历史信息的情况下格式化我们的完整代码库?我可以,例如想象一个工具,它可以跟踪格式化后每条线的去向,并调整TFS的历史记录,以便保留该信息。但是,到目前为止我还没有找到类似的东西。
答案 0 :(得分:1)
通过漂亮打印整个项目,注释确实会“搞砸”。我所知道的工具没有可以解决的问题。
获得最少量历史记录问题的方法是让每个开发人员在对其进行更改以添加功能或解决错误时对其进行美化,这需要时间来传播整个代码库,但这是我知道的唯一方式。