2012-02-10 55 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。