これは凄い。ソースコードを理解するマージツール「Semantic Merge」

Semantic Merge

複数人からなるチームでプログラムを開発していて困ることの一つに、プログラムの修正の衝突があると思います。

最近はSubversionやGitといったバージョン管理ツールが充実してきたとはいえ、修正の衝突が起こった場合、テキストベースのマージツールで地道にソースコードを修正していくしかありませんでした。これはめんどくさく、まちがいが起こりやすく辛い作業です。

Semantic Merge」はそのようなめんどくさいマージ作業を簡単確実に実行するために開発されました。プログラムの中身を解釈してSemanticにマージを実行してくれるということなので、驚きですね。

使用例

NewImage
例えば、Develope1が、SocketクラスをServerSocketクラスとDNSクラスに分割、Developer2がClientSocketを追加した場合でも、Semantic Mergeは適切にコードを解釈してうまくマージしてくれるようです。

NewImage
もっと簡単な例だと、src、dstの別の場所にnew_method()を追加してもマージしてくれるということですね。

現在はベータ版Windows/C#のみ

ためしにベータ版をダウンロードして実行してみました。
Before
通常のマージツールと異なり三個のファイルを設定します。

After
サンプルファイルがついているので実行してみることができます。さきほどのSocketのサンプルファイルもついているので、ちゃんと動くかどうか確認することができます。

現在はベータかつWindows版のみダウンロードすることができ、言語もC#/VB.NETのみです。将来的にはMac/Linux、言語的にもJava、C、C++、Objective-C、JavaScriptなどへの対応が予定されているそうです。価格は未定のようですがリーズナブルな価格で提供されれば、便利なツールになるのではないでしょうか?注目したいと思います。

スポンサーリンク