レッスン 6
テキスト diff デバッグワークフロー
空白/大文字小文字の無視、サイド入れ替え、テキスト diff と JSON diff の意図的な選択を使います。
比較がノイズだらけまたは混乱しているとき、diff レビューをデバッグのように扱います。変数を減らし、最小限の有用サンプルを比較し、データ形状に合ったツールを選びます。
実践的なワークフロー
- 左に元テキスト、右に変更後テキストを貼り付ける。
- サイドバイサイド行 diff から始める。
- 変更要約を読む:追加、削除、変更、未変更。
- 数行だけ変わった場合、単語レベルハイライトに切り替える。
- 空白や大文字小文字が誤った変更を作る場合、無視オプションを有効にする。
- サイドを逆に貼り付けた場合、入れ替える。
- diff 要約をノート、チケット、レビューコメントにコピーする。
空白や大文字小文字を無視するタイミング
空白を無視を有効にする場合:
- 一方のファイルに末尾スペースがある
- インデントは変わったが値は変わっていない
- コピー/ペーストで端に余分な空行が入った
大文字小文字を無視を有効にする場合:
- 環境ラベルが大文字小文字だけ異なる
- ヘッダー名や列挙風の値を同等として扱うべき
- 書式ではなく意味的コンテンツに集中したい
HMAC 入力、署名付き payload、大文字小文字を区別するパスなど、正確なバイトが重要な場合は空白/大文字小文字を無視しないでください。
テキスト diff vs JSON diff
意図的に選びます。
- テキスト diff:設定、ログ、env ファイル、curl 出力、混在テキスト、部分的 payload
- JSON diff:フィールドパスとネスト構造が重要な解析済み JSON オブジェクト
JSON diff が多くの変更を報告するがテキスト diff が 1 行だけ示す場合、問題はキー順序や書式かもしれません。ビジネスデータではありません。
よくある失敗の兆候
- すべて変わって見える:キー順序、空白、無関係なファイルを比較していないか確認。
- 変化が見えないが挙動が異なる:より大きなサンプルか別レイヤー(ヘッダー、env、レスポンスボディ)を比較。
- ブラウザには diff が大きすぎる:まず関連セクションにトリム。
要点
良い diff レビューは規律あるものです。最小サンプル、正しいビュー、正しいハイライトモード、正しい無視設定、データ形状に合った比較ツールです。
Text Diff Checker はこのワークフロー向けに設計されています。ローカル処理、サイドバイサイド/unified ビュー、単語レベルハイライト、無視オプション、入れ替え、コピー操作を 1 つのワークスペースで。