看到那篇讲Unix spell怎么在64KB内存里跑起来的文章,翻了下实现细节,挺感慨的。
表面看这是硬件限制逼出来的技巧:hash表压缩、词典编码、各种bit层面的精打细算。但我更在意另一层——spell的全部逻辑,一个人坐下来一下午就能读完。这不是巧合,是早期Unix社区一种没说出口的契约:代码要小到能被下一个人完整接管。你写的东西,别人能看懂、能改、敢改,这才叫共享。
现在开源圈谈可维护性,谈的是文档、CI、测试覆盖率,这些都对,但根本的那条常被忽略:新贡献者还没读完源码,凭直觉就敢下手。现代前端随便一个工具链,node_modules装下来几百MB,依赖图没人画得全。功能强了,可"接管"这件事变得越来越不可能,只能祈祷上游别跑路。
spell的64KB不是妥协,是把"最小可理解单元"当成了开源的起点。偶尔真的该回去读读那些老家伙,提醒一下自己写代码是给谁看的。