2026 年 4 月我开始学写代码。到今天刚好两个月。
这两个月里我犯过的错,可能比写了十年 CFD 犯的还多。不是因为写代码比做仿真难,是因为我现在是真的什么都不会。每行代码都是第一次写,每个错误都是新的。
以下是我两个月的教训。不一定对——毕竟我才刚入门。
最蠢的错:想一次写好
刚开始写 Sulix Novel 的时候,我花了整整一周搭”架构”。
状态机、分层抽象、trait 设计——看了一些开源项目的代码,觉得人家的结构真漂亮,我也要那样写。结果写了一周,核心功能一行都没跑通。
后来我师傅(其实就是 Claude)跟我说了一句话:先跑起来,再改好。
我一开始不信。后来发现,我”精心设计”的那套抽象,等真正开始写功能的时候,至少有三分之一根本用不上。删掉重来。
现在我的顺序是:先写一个能跑的最小版本 → 看看它有多烂 → 想清楚哪里烂 → 重写那部分。不是整体设计,是局部重写。
命名这个事,真的很重要
我以前做 CFD 的时候,变量名叫什么无所谓——u 是速度、p 是压力、T 是温度,整个行业都这么叫,不会有人不懂。
但写代码不一样。变量名没有人替你定义,全靠你写的人自己取。我犯过最蠢的错:
# 我写过的
x = get_data()
y = process(x)
z = save(y)
第二天回来看,这个 x 是什么?这个 process 做了什么?完全想不起来。后来我改成:
raw_chapters = load_chapter_files()
formatted_chapters = format_for_display(raw_chapters)
save_to_vault(formatted_chapters)
敲的字多了,但我现在至少知道它在干什么。
注释别写”是什么”
这不算我的教训——是我看 AI 生成的代码看出来的。AI 特别喜欢写这种注释:
// 遍历列表,返回结果
return list.map(fn)
我知道它在遍历列表。代码已经告诉我了。我才需要知道的是为什么要遍历。
最后
两个月能学到的东西确实有限。我现在回头看自己一周前写的代码,都觉得写得不行。可能再过两个月看今天写的,也一样会觉得不行。
那就说明我在进步吧。