2012-02-10 3 views
3

私はclojure開発にemacs + slimeを使用しています。最近私たちは新しいチームメンバーを得て、彼はemacsが好きではないので、彼はla clojureプラグインでintellijをインストールしました。異なるIDEを持つチームのClojureインデント問題

emacsとintellijは、コード、関数全体、さらにはモジュールの大きなブロックを自動的に再インデントすることができます。

これは非常に厄介な問題につながります。彼が小さな変更(数行)をしてからファイル全体を改ざんすると、明らかにdvcsに記録されます(私たちはdarcsを使用します)。そのため、コードレビューは不可能になります。コミットされた何百もの行のどれが本当に変わったのかを私はどのように知っています

ここではコラボレーションの問題があります。異なるIDEを使用する他のクロージャーチームがあるのだろうかと思います。これらの問題をどうやって調和させますか?私が見

オプションは次のとおりです。

  1. が1つのIDE(emacsの)の使用を強制します。これで問題は解決しますが、私はそのような権威あるアプローチが嫌いです。両方の環境で同じようにインデントする

  2. どういうわけか、セットアップ(その可能ならばわからない)

  3. が1つのIDEで常にインデントすることに同意します。これは面倒でエラーの傾向があります。

+1

小さな変更の後にファイル全体を再度インデントするのはなぜですか? – ponzao

答えて

9

チームの残りの部分を尊重し、自動的にすべてのコードを再フォーマットしないように尋ねることができます。

インデントを実行するための外部プログラムを作成し、ソースコードシステムにプリコミットステップとしてフックすることもできます。そうすれば、どのエディタが使用されたかは問題ではなく、一貫性があります。これはオプション#2のバリエーションだと思います。

幸運。

2

番号2):1つのチーム、1つのコーディング標準。

3

誰かが別のIDEを使用することを選択した場合、それをチームの良いメンバーとして構成するのはその責任です。彼らがそのようにする方法を知らないなら、他のIDEよりもそれを使う理由はあまりありません。あなたは、あなたの特定の問題を離れて行くだろう空白の変更を無視するパッチからの差分を生成することができた場合は環境設定>コードスタイル

0

はしかし、インデントの設定オプションは、次の場所にあります。しかし、チーム内の一貫したコーディングスタイルのために+1。

関連する問題