代码是最容易的那部分
我高中同学在深圳做货代。我人在加拿大。今年五月,他问我能不能帮他想想办法,别让单据老丢在微信群里。
四个月过去,这句话变成了 1,364 次提交。他公司所有的数 —— 每一票货、每一笔费用、每一分提成 —— 现在都活在一套我晚上写出来的东西里面。
过程跟我想的完全不一样,所以想把它记下来。
第四天
第一个版本是第四天上线的。
不是原型。是真的跑在服务器上:登录页、运单列表、编辑表单、用户管理,还有一个一行搞定的部署脚本。我知道是第四天,因为提交记录还在那儿 —— 5 月 13 号到 16 号,一共十次。
这是现在大家最爱听的那一段。我是跟 Claude 一起写的,那个速度是真的:本来要一个月的活,一个周末干完了。
于是我以为剩下的也会这样。
然后就到了六月
并没有。
运单列表是容易的那一半。另一半是钱:一票货到底花了多少、谁欠谁多少、业务员挣了多少。这部分我是六月底开始动的。现在是九月底。我还在改。
提交记录比我讲得清楚:
- 五月 —— 10 次
- 六月 —— 9 次
- 七月 —— 486 次
- 八月 —— 455 次
- 九月 —— 404 次
这个陡坡不是我变快了。是这套软件从"管货"变成"管钱"的那个月。
真正难的是什么
从来不是代码。
复式记账是个早就被解决的问题,查就查得到。查不到的是下面这几个,它们吃掉了我整个夏天:
- 一笔杂费付掉了,该按时间先后冲掉最早的那笔,还是该对上它当初挂的那个科目?对科目。按先后来,会悄悄记出根本没发生过的账。
- 赔给客户的钱,算这票货的成本,还是算另一回事?另一回事。混在一起,毛利就永远是错的,而且没有人会发现。
- 业务员的提成在货完结那天就冻住了。那之后费用又变了怎么办?不是去改它。是单独记一笔调整,自己结自己的。
这些没有人能告诉我答案,也没有任何文档写着。每一条都是先做错一次 —— 用真金白银做错 —— 然后在我这边的半夜,跟他在微信上吵出来的。
这是我完全没料到的一件事:AI 让写代码快了大概十倍,让"决定代码该干什么"快了整整零倍。
搞砸的那些
这个站说好了要写这些的,那就写:
为了快点,我开了好几个 AI 会话并行干活。其中两个从项目的不同副本往生产服务器上部署,悄悄把对方的成果各自回滚掉了。过了好一阵才有人发现。
还有一个晚上,我去清理一个不该由我清理的工作目录。十三个文件、从来没提交过的代码,没了,而且是 git 救不回来的那种没了。
我还有一次告诉我同学,他的账差了 1,562 块。并没有差。是我自己另写了一套"这笔是不是已经冲销过"的判断,而现成的那个判断,就在三行之外。
我那份项目手册上的每一条规矩,背后都有一件这样的事。只能一个人部署。所有决定都上同一块板。碰钱的改动必须跑完整套测试。没有一条是提前想出来的 —— 全都是拿代价换的。
我在乎的那个数
账本现在有 20,447 行。借方减贷方:0.00。
这是整个项目里唯一一个我愿意挂在墙上的数字。不是提交次数,不是功能清单。一家真公司四个月的钱,从一套吃完晚饭才开始写的软件里走了一遍,账还能平到分。
如果能跟五月的自己说句话
先做那个无聊的部分。它不无聊。
还有:下次再有人说他的系统"只是"要管一下订单,问他一句 —— 那钱怎么办。这一个问题,就是整个项目。
接着读Read next
- AI时代2026.10.17
- 26Autumn Erindale Park观鱼2026.10.06