这个问题来自先前对svn的经验。
我们遇到的问题是我们的代码格式错误,主要是因为当时开发人员由于各种原因而不遵守格式指南而增加。因此代码格式存在差异很长一段时间。此外,代码库也很老了,所以它可能会持续多年。
无论如何,有人建议将新功能中所有触及的类格式化为我们商定的标准代码格式样式。其他开发人员反对这个主要是因为:
最后,我们最终拒绝了这个想法,只对新引入的类文件进行了格式化。对于现有类中的新代码,我们只确保编辑的行正确缩进。
我们主要是eclipse用户,但我认为这个功能也可以在其他ide中使用(只需在网上查看netbeans和intellij)。
对于额外的上下文,有问题的代码库相当成熟,支持工作和新功能工作之间存在公平的平衡。有时候新功能会分成几个阶段,所以这也是需要考虑的事情。
所以问题是:
答案 0 :(得分:2)
你不想在钩子里这样做。不仅是一个非常糟糕的计划让钩子在传输过程中以任何方式编辑源,但是用户将得到的错误会很糟糕(不可能告诉用户所有错误都是有意义的在错误消息上的方式)。我不是一般的执行风格的粉丝..但如果你必须,我推荐一个三部分计划
我参与了那些做得非常好的团队......标准非常灵活,每个人都觉得他们有输入,所以当构建失败时,没有抱怨。我们修理了它并继续前进。
我在一个团队中工作,一个非理性的法西斯主义者认为风格比代码的完整性或正确性更重要。它很糟糕。
就我个人而言,我会在第二步停下来,看看它在哪里得到你,然后再进入第3步。
答案 1 :(得分:1)
在Eclipse中,在Preferences > Save Actions
下,可以启用Auto Formatter
格式化文件保存的代码。您可以将一组格式规则和Export Preferences File
配置为发送给您的开发人员(或让领先的开发人员执行此操作),以便他们Import Preferences File
,因此代码会在开发时自动格式化。< / p>
标准化的自动格式化程序有助于消除代码样式中的相似性,从而导致SVN中的非代码库更改。
答案 2 :(得分:0)
我认为为你的仓库中的旧类做一次性代码格式化提交是完全没问题的,它的定义要好得多,然后在各处都有格式错误的代码。
至于IDE的Intellij和Eclipse可以在保存时进行格式化,但是我反对在钩子中进行格式化,因为它不知道你在编写什么,并且不会相信脚本。但这也可以起作用,但需要确保您用于格式化的内容完全符合任务