Visual Studioは、空白をどのようにフォーマットするかなど、作業環境を完全にカスタマイズできるこの素晴らしい機能を提供します。私はスペースや中括弧などを表示する方法と場所について非常に具体的です。TFSにファイルをコミットする前に空白を削除する
たとえば、私はスペースとして挿入するタブを好む。私はまた、インデント(Tab size/Indent size)を2スペースにすることをお勧めします(私はラインがインデントされていることを確かめるために4スペースは必要ありません)。
私が協力して作業するまでは、これはすべてうまいです。私が扱う人はすべて、空白/書式のデフォルトを使うようです。これは、TFSのようなソースコントロールを使用するときに問題を引き起こします。私が働いているファイルと同僚のファイルを比較すると、空白の変化も表示されます。私はこれらの変化を見たくない。彼らは重要ではない。
答えは、チーム全体で同じ設定を使用する必要があるということです。これは正解ではありません。その答えは、悪い設計のための対処です。誰もが同じ設定を使用する必要がある場合、環境をカスタマイズできるのはなぜですか?
TFS(またはその他のソースコントロール)は、ファイルタイプに基づいてファイルをコミットする前に、不要な空白を削除しないのはなぜですか?これにはいくつかの利点があります。 1つは、ファイルを保持するために必要なストレージが少なくて済みます。 2つ目は、ソース管理サーバーへのファイルの転送は、ファイルが小さいため効率的でなければなりません(これらの最初の2つの利点はおそらくファイルがおそらく圧縮されるためおそらく無視されます)。 3つ、最も重要なことに、TFS(または任意のソースコントロール)は、ファイルdiffを実行するときに、空白の変更を報告しなくなります。
自分の環境でファイルを表示/編集すると、そのファイルの定義方法が再フォーマットされます。他の誰かがファイルを表示/編集すると、その仕様に再フォーマットされます。
現在、TFSでこれを行う方法はありますか?
。 Pythonのような、構文的に重要な空白を持つ言語はどうですか?平文文書はどうですか?マークダウンはどうですか? 空白が役に立たないと考えることはできません。 –
@ mo mojo、あなたは困難であり、 "正しい道"を持つ唯一の英雄プログラマーになろうとしています。チーム全体がデフォルトを使用したい場合は、それも同様に行う必要があります。 –
@MrHinsh私は "ヒーロープログラマー"になろうとはしていないし、自分の道が正しい方法だと言っているわけでもありません。私は自分の道がうまくいくのが好きです。私は誰もが自分のやり方を採用するよう求めているわけではありません。私はインデントのために4つの代わりに2つのスペースが好きです。コミットする前に不要な空白を取り除くのに十分なほどスマートにできないのはなぜですか?なぜ私たちはすべて同じものを使用する必要がある場合、私の書式をカスタマイズする能力があります。誰もが4つのスペースを好む理由を知っていますか? 「それはいつもそうだったから」それは、何かが何らかの形で行われた理由について与えられた最悪の答えでもある。 –