↓この図を見てください。一文字だけ違うところがあるんですが、どこか分かりますか?なかなか分かりづらいですよね。↓今度は同じファイルをWinMergeで見てみましょう。どこが違うか分かりますか?すぐに分かりますよね?こんな間違い探しみたいな使い方もできますけど、これはあくまでも参考です。プログラミングにおいてはそんな間違い探しみたいな事は無いと思います。プログラミングにおいては修正前後のソースコードを比較するのです。これがとっても重要!!!ソースコードの差分比較ってそんなに重要か!?????Yesです!!重要です。重要じゃないなんて、どういう思考回路を持てばそんな事が言えるのか?なので「ソースコードの差分なんて重要じゃないっしょ」と言う人とは一緒に仕事できません。仕事のプログラミングというのは、新規に作るものばかりではありません。現状動いているシステムがあり、そのシステムを改修する事の方が多いです。現状動いているシステムのソースコードに対してプログラムを追加・変更・削除するのです。プログラムって一文字でも違えば動作は変わってしまいます。文字を変えていなくても行の順番を入れ替えただけでも動作が変わります。言うまでもなく当然ですけど。仕事においては、プログラミングしたらどこをどういう風に変更したのかを社内のチームメンバーやお客様に説明することがあります。これをソースコードレビューと言います。そのソースコードレビューの際にWinMergeを使うと違いが分かり易いのです。修正前と修正後のソースコードをWinMergeで表示すれば、変更箇所が分かります。どこをどう書き換えたのかがひと目で分かります。↓この図を見てください。左が修正前、右が修正後。どこをどう変えたか分かりますよね。WinMerge使わなくても、エディタのウィンドウ2つ並べて見比べればいいじゃんと思う人もいるでしょう。差異部分に色が付いている方がより分かりやすいですよね。ソースコードレビューと言うか仕事における時間は有限かつ短いので、少しでも効率良く・分かりやすく・間違えにくくするという工夫が必要です。『より分かり易く、誤解が生まれにくい方を使う』という考え方が必要だと思います。このようにして変更前後のソースコードを比較したものを見ながら勘違いは無いか?不具合は無いか?既存の処理に良からぬ影響を与えていないか?仕様を満たしているのか?等々を考えるわけです。WinMergeはマージもできますが、何か?で、WinMergeは比較だけじゃありません。WinMergeっていう名前ですからね。マージってのは、「結合」とか「混ぜる」とかっていう意味です。一人でプログラミングをやるとこういう作業は必要無いと思いますが、複数人で一つのファイルを各々が改造することがあります。最後にそれらを一つのファイルに混合しなければいけません。その作業の時にWinMergeを使うと簡単にマージができるのです。差異部分において、左ペインのコードを右ペインにコピーしたければ、Alt+右矢印キーだけでコードをコピーできます。右ペインのコードを左ペインへコピーしたければ、左矢印キーです。(設定によっては矢印キーだけでもコピー可能)同じファイルでも全然違う離れた場所をそれぞれが改修している場合はマージは簡単ですが、全く同じ箇所を触っているとややこしいのです。(これを「衝突」とか」ぶつかる」とかって表現することが多いです)その場合もWinMergeで両者のソースを見ながら正式採用する部分を選び出します。実際のところぶつかってしまうとマージが大変なので、同時に同じファイルを複数人が改修しないように気をつけた方が良いですけどね。WinMerge、3つのファイルでも比較・マージできるってよ。最近のWinMergeは3ファイルの比較・マージができるみたいですね。私は3ファイルってのはやった事ないですけど、使い方によっては便利でしょうね。3ファイル以上比較できるツールは他にもあるのでそう珍しいことでは無いと思いますけど。WinMergeはTortoiseSVNでも使えるってよ。ソースコードの管理をSubversion(さぶばーじょん)でやっている会社は多いでしょう。※Git(ぎっと)については私は業務で使ったことがないのでよく分かりませんSubversionのクライアントツールとしてTortoiseSVN(とーたすえすぶいえぬ)を使っている人が多いでしょうか?TortoiseSVNでRev間の差分を見る場合や衝突場所を見る場合、TortoiseSVN(に付属の比較ツール)で見てなおかつマージことができますが、この付属の比較ツールが使い難いと言うか分かりづらいんですよ、私はね。付属の比較ツールじゃなくてWinMergeを使うことができます。TortoiseSVNの設定でWinMergeを指定しておくと、比較・マージをする時にWinMergeが立ち上がるようになります。TortoiseSVN付属の比較ツールの使い方がよく分からないなら、WinMergeに設定しておくのはマジオススメです。WinMerge以外にテキスト比較ツールってあるの?あります。私は昔はDF(でふと読むらしい)というツールを使っていましたし、今でもサブで使っています。WindowsにもMacにも同種の比較ツールはあります。テキストだけでなくExcelファイル比較ツール、バイナリファイル比較ツールと数多くありますので、場面場面に合わせたツールを使い分ければいいでしょう。私の場合、WinMergeをメインにしており、ソースコードの比較やExcelファイルの比較をWinMergeで行っています。DFはバイナリファイルを比較するのに使っております。バイナリファイルの比較はStirling(すたーりんぐ)を使うこともあります。※昔はソースコードの比較にDFを使っていましたが、WinMergeが登場してからすぐに乗り換えてしまいました。周囲も乗り換えていましたし、行く現場行く現場でWinMergeが浸透していました。WinMergeはコメント部分の比較にどうも不具合があるみたいなんですよね。明らかに差異があるのに同一と判断されることがあるんですよ。現在の最新のVerでは直っているかも知れませんが、私は結構古いVerを使っています。※もしかしたら設定が間違ってるだけなのかな?後は、Rekisaってのが好きでたまに使います。同種のソフトは豊富にあるので、色々使ってみると自分の好みのものが見つかるでしょう。参考リンクWinMergeDFRekisaStirlingまとめプログラミングをする上で『差分』っていうのは重要です。テキスト比較ツールと言うか差分確認ツールがたくさん出ているのです。差分を蔑ろにすることなく確実に確認しましょう。差分をしっかり確認するようにすれば、どこをどう変更したのかが把握しやすくなります。̆どこをどう変更したのかが把握しやすくなると、新たな不具合を作ってしまう確率が減ります。仕事においては改修前後のソースコード比較を必須にして欲しいと思いますが、個人の趣味でプログラミングするに場合もテキスト比較ツールはできるだけ使うようにすることをオススメします。すればしょーもない不具合が減ってプログラミングがもっともっと楽しくなると思いますよ。Express)WinMergeフリーソフトプログラミングに必要なツールpickupこの記事が気に入ったらいいねしよう!最新記事をお届けします。コメントをキャンセルメールアドレスが公開されることはありません。変数と式Macで不要ファイルをゴミ箱に入れず即削除する方法&コマンド使えーーー!!RECOMMENDこちらの記事も人気です。KeiichiWindows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。広告プログラミングレッスン初心者向けのプログラミングレッスンをしております。プログラミングを始めてみたい方、まずはお気軽に無料体験をお試しください!Scratch(スクラッチ)は全くの初心者でも気軽に楽しく学べるプログラミング環境です。僕がマウスに絶対求めるたった1つの機能。ホントのちゃんとした理由教えて。