我正在使用emacs + slime进行clojure开发。最近我们得到了一个新的团队成员,他不喜欢emacs,所以他用la clojure插件安装了intellij。
emacs和intellij都允许自动重新缩进大块代码,整个函数甚至模块。
这导致了一个非常烦人的问题。如果他做了一个小的改动(几行)然后重新整理整个文件,那么显然将它记录到dvcs(我们使用darcs)将产生大的补丁,改变了数百行。这使代码审查变得不可能。我怎么知道数百个承诺的行中有3个真的发生了变化?
所以现在我们有合作问题。我想知道是否还有其他使用不同IDE的clojure团队。你如何调和这些问题?
我看到的选项是:
强制使用一个IDE(emacs)。这将解决问题,但我不喜欢这种权威方法。
以某种方式将两个环境设置为相同的缩进(不确定是否可能)
同意始终在一个IDE中缩进。这很麻烦,容易出错。
答案 0 :(得分:9)
您可以尝试让他尊重团队的其他成员,而不是自动重新格式化每个人的代码。
您也可以编写外部程序来进行缩进,然后将其作为预提交步骤挂钩到源代码系统中。这样,使用什么编辑器并不重要,它会变得一致。我想这是选项#2的变体。
祝你好运。答案 1 :(得分:3)
如果有人选择使用其他IDE,那么他们有责任将其配置为团队中的一名优秀成员。如果他们不知道如何这样做,他们可能没有太多理由在任何其他IDE上使用它。
但是,缩进的配置选项位于:Preferences>代码风格
答案 2 :(得分:2)
2号):一个团队,一个编码标准。
答案 3 :(得分:0)
如果你可以从补丁中生成一个忽略空格更改的差异,那么你的具体问题就会消失。但是,团队中的编码风格一致为+1。