知识卡片

语义合并冲突为何比文本冲突更危险

专业/工作 · 1194.b

内容

版本控制工具能自动解决文本层面的合并冲突,却检测不出语义冲突:两处改动各自都能顺利合并、代码也能正常编译,但合在一起后程序的实际行为却被悄悄改坏了。玛克辛见过的一次险情完全是靠有人凭直觉说了句”这里看起来不太对”才被拦下来,纯属侥幸。发散:这类问题最危险的地方在于它不会报错,会悄悄潜入生产环境,直到某天代码路径被触发才引爆——合并干净不等于合并正确。

参考来源

《独角兽项目:数字化转型时代的开发传奇》第10章《9 月 29 日,星期一》