Reference 2026-04-18
Diffアルゴリズム解説: Myers, Patience, Histogram
git、IDE、レビューツールが毎日見る差分を計算する方法。
すべてのコードレビューとマージはdiffアルゴリズムに依存します。
Myers Diff
gitやvimなどのデフォルト。O((N+M)D)で最短編集スクリプトを見つける。
Patience Diff
git diff --diff-algorithm=patience
両ファイルに一度だけ現れる固有行をアンカー。関数移動がきれい。
Histogram Diff
patienceの改良版。
git config --global diff.algorithm histogram
単語/文字diff
git diff --word-diff
構造化データ
- jd (JSON)
- difft (AST ベース)