跳到主要内容

详细设计

接口、数据结构、边界条件落到纸面。这一篇讲在详细设计阶段,如何让 AI 把「看起来对」的方案,变成「经得起边界推敲」的方案。

文件系统顺序假设

我默认文件系统的操作和事件「按确定、串行、可预测的顺序发生」——写完一个文件马上就能读到完整内容、watcher 事件按修改顺序一条一条来、readdir 按创建或字典序返回、文件一出现就代表写完了。于是我把「文件出现」当同步信号、把 watcher 当成有序日志,代码在我本地的快盘上跑得好好的,换台机器、换个 OS、上点负载就偶发崩。这讲的是 OS / 文件系统层的假性确定,和并发竞态(共享内存/数据库状态的竞态)、漏掉边界分支(漏了某个输入)都不是一回事。

工程师 · 架构师