Logic - 代码的骨架
核心问题:
系统在所有情况下都是真的吗?
检查清单
写逻辑前,先问前置条件。
改状态前,先画状态机。
加字段前,先问非法组合。
测正常值后,必须测边界值。
遇到并发,先问不变量会不会破。
写高价值操作,必须考虑幂等。
复杂流程,先找反例。
Atlas 口诀
不变量是骨架。
状态机是轨道。
断言是护栏。
边界值是黑天鹅。
并发会撕开假设。
最终心法
Bug 的本质,往往是某个你以为永远为真的命题,在某个场景下变成了假。
核心问题:
系统在所有情况下都是真的吗?
写逻辑前,先问前置条件。
改状态前,先画状态机。
加字段前,先问非法组合。
测正常值后,必须测边界值。
遇到并发,先问不变量会不会破。
写高价值操作,必须考虑幂等。
复杂流程,先找反例。
不变量是骨架。
状态机是轨道。
断言是护栏。
边界值是黑天鹅。
并发会撕开假设。
Bug 的本质,往往是某个你以为永远为真的命题,在某个场景下变成了假。