レッスン 3
単語レベル diff と変更統計
変更行内の小さな編集を調べ、追加・削除・変更・未変更のカウントを読みます。
行レベル diff はどの行が変わったかを教えます。単語レベル diff は行内の何が変わったかを教えます。
例:
LOG_LEVEL=info
LOG_LEVEL=debug
行レベル diff は行全体を変更としてマークします。単語レベル diff は info → debug のみをハイライトします。
単語レベル diff が役立つとき
単語レベルハイライトを使うとき:
- ホスト名がわずかに変わる(
db.internal→db.prod.internal) - ブール値や数値フラグが反転する(
false→true) - URL パスやクエリパラメータが変わる
- SQL の
WHERE句で 1 つの述語が変わる - JSON 風の行がまだプレーンテキストで、トークンレベルの明確さが欲しい
ブロック全体が書き直されたり並べ替えられたりした場合、単語レベル diff はあまり有用ではありません。
変更統計の読み方
良い diff ツールは結果を要約します。
- 追加:右側にのみ存在する行
- 削除:左側にのみ存在する行
- 変更:同じ位置で別の行に置き換えられた行
- 未変更:両側で一致する行
これらのカウントは、diff が小さな調整か大きな書き換えかを判断するのに役立ちます。
要約例:
Added: 1 · Removed: 0 · Changed: 3 · Unchanged: 4
通常、ファイル全体の置換ではなく、的を絞った編集を意味します。
要点
構造には行レベル diff から始めます。変更行数が少ないが実際の編集が重要なときは単語レベル diff に切り替えます。
Text Diff Checker は両方のハイライトモードをサポートし、ステータス領域に追加・削除・変更・未変更のカウントを表示します。