不同IDE的团队中的Clojure缩进问题

时间:2012-02-10 04:55:35

标签: clojure indentation

我正在使用emacs + slime进行clojure开发。最近我们得到了一个新的团队成员,他不喜欢emacs,所以他用la clojure插件安装了intellij。

emacs和intellij都允许自动重新缩进大块代码,整个函数甚至模块。

这导致了一个非常烦人的问题。如果他做了一个小的改动(几行)然后重新整理整个文件,那么显然将它记录到dvcs(我们使用darcs)将产生大的补丁,改变了数百行。这使代码审查变得不可能。我怎么知道数百个承诺的行中有3个真的发生了变化?

所以现在我们有合作问题。我想知道是否还有其他使用不同IDE的clojure团队。你如何调和这些问题?

我看到的选项是:

  1. 强制使用一个IDE(emacs)。这将解决问题,但我不喜欢这种权威方法。

  2. 以某种方式将两个环境设置为相同的缩进(不确定是否可能)

  3. 同意始终在一个IDE中缩进。这很麻烦,容易出错。

4 个答案:

答案 0 :(得分:9)

您可以尝试让他尊重团队的其他成员,而不是自动重新格式化每个人的代码。

您也可以编写外部程序来进行缩进,然后将其作为预提交步骤挂钩到源代码系统中。这样,使用什么编辑器并不重要,它会变得一致。我想这是选项#2的变体。

祝你好运。

答案 1 :(得分:3)

如果有人选择使用其他IDE,那么他们有责任将其配置为团队中的一名优秀成员。如果他们不知道如何这样做,他们可能没有太多理由在任何其他IDE上使用它。

但是,缩进的配置选项位于:Preferences>代码风格

答案 2 :(得分:2)

2号):一个团队,一个编码标准。

答案 3 :(得分:0)

如果你可以从补丁中生成一个忽略空格更改的差异,那么你的具体问题就会消失。但是,团队中的编码风格一致为+1。