工程问题的三大法宝

评估影响、对比定位、再不行就抄

Posted by BY on April 25, 2026

原始笔记是三句话,这里把它整理成一个可以反复对照的“处理工程问题的最小检查表”。三条原则的核心信息保持不变。

三条原则

1. 评估影响,并检查、检查、再检查

任何修改、上线、迁移之前,先把“这件事影响到谁、影响多大、最坏情况怎样”过一遍:

  • 涉及的服务、模块、上下游
  • 是否影响线上数据 / 资金 / 用户体验
  • 失败时的回退路径

确认后再动手;动手前后都要复核改动是否符合预期。

2. 遇到问题,对比正常与异常

定位问题时,最稳的姿势是“对比”:

  • 代码维度:和上一个稳定版本 diff,找最近改动
  • 环境维度:和正常机器/集群对比配置、依赖、内核参数
  • 数据维度:对比异常请求和正常请求的入参、上下游

实在卡住时,使用两种最朴素的工具:

  • 回滚:先恢复线上,再慢慢复盘
  • 二分:把改动一半一半地切,定位到具体引入问题的那部分

3. 自己想不到,就去抄

如果上面都试过仍然没思路,承认“想不到”不丢人,关键是别原地打转:

  • Google / Stack Overflow
  • 微软、Amazon、Google 等公开的工程博客或 RFC
  • 同公司其它团队的内部文档与历史 case

照着别人成熟的解法做一次,往往比自己硬想要快得多。

后续可补的方向

  • 每一条配一个真实复盘 case
  • 增加“评估影响”用的 checklist 模板
  • 整理常用的二分定位手段(git bisect、流量分割等)