第 6 课
文本 Diff 调试流程
使用忽略空白/大小写、交换左右,并有意识地选择文本 diff 或 JSON diff。
当对比结果看起来噪声很大或难以理解时,把 diff 评审当成调试:减少变量、对比最小有用样本、选择正确工具。
实用流程
- 左侧粘贴原始文本,右侧粘贴修改后文本。
- 先用并排行级 diff。
- 阅读变更摘要:新增、删除、修改、未变。
- 如果只有少数几行变化,切换到词级高亮。
- 如果空白或大小写造成假变更,启用忽略选项。
- 如果左右贴反了,直接交换两侧。
- 把 diff 摘要复制到备注、工单或评审评论。
何时忽略空白或大小写
启用 忽略空白 当:
- 某个文件有尾部空格
- 缩进变了但值没变
- 复制粘贴在边缘引入了多余空行
启用 忽略大小写 当:
- 环境标签只有大小写不同
- header 名或枚举类值应视为等价
- 你更关心语义内容,而不是格式
以下场景不要忽略空白/大小写:HMAC 输入、签名载荷、大小写敏感路径等需要精确字节的场景。
文本 diff 还是 JSON diff
要有意识地选择:
- 文本 diff:配置、日志、env 文件、curl 输出、混合文本、不完整载荷
- JSON diff:已解析 JSON 对象,且字段路径和嵌套结构很重要
如果 JSON diff 报很多变化,但文本 diff 只显示一行差异,问题可能是键顺序或格式化,而不是业务数据本身。
常见异常信号
- 看起来全都变了:检查键顺序、空白,或是否对比了无关文件。
- 看起来没变化但行为不同:扩大样本范围,或换一层对比(headers、env、response body)。
- diff 过大导致浏览器吃力:先裁剪到相关片段。
关键结论
好的 diff 评审是有纪律的:最小样本、正确视图、正确高亮模式、正确忽略设置,以及匹配数据形态的正确对比工具。
文本对比 / Diff 检查器 就是为这个流程设计的:本地处理、并排/unified 视图、词级高亮、忽略选项、交换和复制操作都在同一工作区完成。