2012-02-10 53 views
3

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

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

这导致了一个非常恼人的问题。如果他做了一些小改动(几行),然后重新整理整个文件,那么很明显,将它录制到dvcs(我们使用darcs)将会产生大量补丁,其中有数百行被更改。这使得代码审查不可能。我如何知道几百条承诺线中的哪三条真的发生了变化?

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

我看到的选项是:

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

  2. 不知何故被设定的环境,以相同缩进(不知道其可能的)

  3. 同意总是缩进一个IDE。这很麻烦,容易出错。

+1

为什么在一个小的改变之后重新整理整个文件? – ponzao 2012-02-10 08:42:13

回答

9

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

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

祝你好运。

2

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

3

如果有人选择使用不同的IDE,他们有责任将其配置为团队中的好成员。如果他们不知道如何这样做,他们可能没有太多理由将其用于任何其他IDE。

然而,缩进配置选项分别位于:首选项>代码样式

0

如果你能生成忽略空白的变化补丁DIFF那么您的具体问题会消失。尽管在团队中一致的编码风格+1。