文字對比完全指南:Diff 工具的使用場景與技巧

文字(更新於 2026年5月29日)

什麼是 Diff?

Diff(差異對比)展示兩段文字之間的增刪改變化:

  第一行(未變)
- 第二行(刪除)
+ 第二行(修改後)
  第三行(未變)
+ 新增的第四行

綠色 = 新增,紅色 = 刪除,灰色 = 未變。


使用工具庫文字對比

操作步驟

  1. 開啟 文字對比工具
  2. 左側貼上原始文字,右側貼上修改後文字
  3. 自動標示差異行
  4. 支援逐行對比與統計

適用場景

場景 範例
程式碼審查 對比 PR 修改前後的程式碼
文件校對 檢查翻譯是否遺漏段落
設定對比 對比兩個環境的 .env 檔案
合約審核 檢查合約修改條款
資料驗證 對比 API 回應變化

Diff 演算法原理

常用演算法:Myers Diff(O(ND) 複雜度,N=總行數,D=差異數)

文字 A: 10 行
文字 B: 12 行(新增 2 行,修改 1 行)
     ↓ Myers 演算法
差異: 1 行修改 + 2 行新增 = 3 處變化

對於大檔案(>10000 行),Diff 計算可能需要 1-2 秒。工具庫在瀏覽器本機計算,不上傳文字。


實用技巧

1. 對比前先整理

# 對比前先排序/去空行
原始文字 → [行整理工具](/zh-TW/text/lines) 排序去重 → 對比

2. 忽略空白差異

對比程式碼時,行尾空格和 Tab/空格混用會產生大量無意義差異。對比前先統一縮排:

文字 → [縮排工具](/zh-TW/text/indent) 統一為 2 空格 → 對比

3. JSON 結構化對比

普通文字 Diff 對 JSON 不友善(欄位順序變化 = 大量差異)。使用 JSON 結構對比工具

// 原始
{"name": "test", "version": 1}

// 修改
{"name": "test", "version": 2, "author": "admin"}

JSON Diff 清楚顯示:version: 1 → 2+ author: "admin"

4. 大檔案分段對比

超過 5000 行的檔案建議按章節/函式拆分後逐段對比,結果更清晰。


文字對比 vs JSON 對比

對比 文字 Diff JSON Diff
工具 文字對比 JSON 對比
粒度 行級 欄位級
適合 程式碼、文件、設定 API 回應、JSON 設定
格式變化 敏感(空格/換行) 不敏感(欄位順序)

總結

Diff 是開發者最高頻的工具之一。工具庫 文字對比 在瀏覽器本機執行,即時標示差異,配合 JSON 對比行整理 工具可以高效完成各類對比任務。

#文本对比#Diff#代码审查#版本对比#调试