2つのファイルを比較し、コメントの変更を無視するにはどうすればよいですか?
-
06-07-2019 - |
質問
C#とVB.NETを使用しています。
頻繁に(毎日...)既存のソースファイルにコメントを追加します。これらのファイルをチェックインするときに、コメントに加えられた変更を無視するマージツールを使用したいと思います。コードを変更していないことを確認したいだけです。
WinMergeとTeam Foundation Control Serverを使用しています(はい、チャンスはありません。このジョブを受け入れたとき、Subversionはオプションではありませんでした:o)。どちらも空白を無視できますが、コメントは無視できません。結果:チェックインする前に、各ファイルに加えたすべての変更を注意深く確認する必要があります。これは非常に面倒です。
(まあ、私の同僚のほとんどはまったくコメントしていないので、ちょっと、彼らはそれをすべて伝えるかなり長い名前空間/クラス/メソッド/プロパティ/タイプ/定数名を使用しています!-それはたくさんあります!仕事。)
提案はありますか?
すべてのベスト、 シルヴァン。
解決
BeyondCompareには、「重要ではない」を無視するためのフィルターがあります。変更およびコメントはデフォルトでそのカテゴリに属します。
他のヒント
Compare ++ には、「コメントの変更を無視」オプションがあります。および「フォーマットされた純粋な変更を無視する」リクエストを尊重する必要があります。
WinMergeを使用したと言いましたが、コメントを除外する機能があります。
ただし、別の行にあるコメントに対してのみ機能します。たとえば、次のとおりです。
int i; // comment
異なるものとして検出されます
int i;
コードを操作する際にコードを理解するためのツールとしてコメントを使用しているようです。それは面白いアイデアで、本をハイライトしたりメモをとったりするのと同じです。ただし、他の人と作業する前に、これらの一時的なコメントをすべて削除する必要があります。
比較またはプロモートする前に、コメントを取り除くフィルタープログラムでソースファイルを実行します。これは、1行のperlスクリプトです。
それを簡単にするために、非永続的なコメントに明確なパターンを使用して、フィルターで簡単に除外できるようにします(これらの一時的なコメントと、ソースに残したいコメントを区別しやすくします)。例えば。 C ++で記述している場合は、常にコメントを使用して
//Sylvain: this is my comment here.
またはgrepがさらに簡単な他のパターン。
コメントの内容が気にならないもので、重要ではない場合は、コメントを削除してみませんか?
読みやすく理解しやすい文書化されたコードが作成するものの一部である場合、そのメタデータへの変更をレビューしてみませんか?
コードにコメントを追加するのは、コードが読みにくいという臭いです。コードは自己記述的である必要があります。誰かが言ったように、良いコードは良い冗談のようです。変数名を変更し、コードのセクションをサブルーチンに入れる方が適切です。リファクタリングはコメントよりも優れています。コメントの問題を解決するツールを見つけても、コードを理解しやすくする実際の問題は解決しません。