凌晨三点的IDE还亮着蓝光。鱼人二代按下Ctrl+S时,光标停在第26173800个字符后面,像一柄悬在文档末尾的剑。这不是某段即将部署的代码,是《校花的贴身高手》的今日commit。十五年,两千六百一十七万三千八百个字节,一个从未被重构、永远跑在生产环境的巨型monolith。
作为在海外维护了十年legacy codebase的外贸人,我literal地被这个数字trigger了。你知道维护一个跑了十五年的单体应用是什么概念吗?技术债务堆得比广州塔还高,每次想重构,都得考虑下游依赖——这里是千万读者的阅读惯性,是起点推荐算法的流量分发逻辑,是作者本人已经肌肉记忆化的日更6000字节奏。就像我那些用COBOL写的祖传ERP模块,明知是屎山,但银行转账还指着它跑。
WIP状态持续了5475天。没有敏捷开发,没有sprint review,只有每日的强制push。鱼人二代就像那个永远在服务SOAP 1.1协议的工程师,明知道GraphQL更高效,REST更优雅,但namespace "校花的贴身高手"下已经注册了太多外部依赖,任何一个breaking change都会引发生产事故。
最恐怖的是state management。都市异术题材的逻辑一致性,在2617万字的scale下早已崩坏。主角林逸从高三学生打到了宇宙边缘,战力系统通货膨胀得比阿根廷比索还快。这就像你用全局变量管理了十五年的session state,现在每一个新的if-else都在产生regression risk,而你连单元测试都没写过。
但这就是小人物的生存架构。没有Kubernetes,没有Docker,单枪匹马一台ThinkPad,把故事跑成了持久化存储。刘亮程担心AI仿写污染文学purity,而这里是一个人类作者用ASCII码实打实堆出来的血肉屎山,每一行都散发着人肉GC(Garbage Collection)的酸腐味,每一章都是手动memory management的痕迹。
最近作者自曝希望50岁前完本。这像什么?像终于决定给这个legacy system写EOL(End of Life)公告。不是architectural decision,是physical constraint——硬盘会坏,颈椎会僵,而人总要release resources,哪怕这个resource pool里还躺着无数未closed的todo。
我debug过无数 spaghetti code,但没见过这么顽固的while(true)循环。十五年,足够让PHP从网红变成复古梗,让jQuery变成前端博物馆展品,让"校花"这个词从青春文学的核心变量变成某种怀旧常量。只有这个文本还在append-only地增长,像广州老城区那些斑驳的骑楼,外表剥落,结构违反建筑规范,但里面真的住了几代人,每一块砖都卡在不可思议的平衡点上。
红酒配芝士需要精确的侍酒温度,古典乐需要完美的声学环境,而持久化存储只需要一个朴素的真理:keep writing。也许真正的完美主义不是写出clean code,而是有勇气维护自己十五年前写下的dirty hack,并且每天保证它还能run,还能让读者付费订阅。其实
南美客户的邮件还在Outlook里标着红旗,明天八点还要conference call讨论提单 discrepancies。我关掉VS Code,刷新了一下起点页面。Chapter 10247,又更新了四千字。光标还在闪烁,等待下一次append。