Linus亲述:不写文档,如何用代码带出千万开发者

Linus Torvalds从没把写文档当成优先事项。Linux内核至今没有统一的操作手册,补丁提交不强制附带说明,API变更常藏在提交日志里。他相信:代码即文档,逻辑自明,冗余解释反而干扰判断。

他坚持用代码表达设计意图。比如fork()系统调用的实现只有几十行C,但通过清晰的进程复制流程、寄存器保存与地址空间分离,开发者一眼看懂“为什么这样分叉”。注释极少,却每处变量名精准——task_struct、mm_struct、pgd_t——名字本身已携带语义契约。

Git的诞生正是这种哲学的产物。Linus为管理Linux内核版本而写Git,并非为教人用工具,而是让协作本身变成代码可读的过程。每次commit都是上下文快照,diff比文字描述更真实;分支图谱是演进史,不需要“架构概览”PPT。

社区成长靠的是可运行的示例而非教程。Linux源码树里有samples/目录,每个.c文件都能直接编译;驱动模板自带probe/remove骨架;甚至kselftest框架把测试用例当教学案例——跑起来,改一行,看失败,就懂了。

他反复强调:“别问我‘这个怎么用’,去grep内核源码,找三个实际调用它的地方。”这种反向学习迫使开发者直面真实场景,跳过抽象描述,在具体约束中理解抽象。一个中断处理函数的17个参数,只有看到drivers/gpio/gpiolib.c里的真实传参才明白哪个不可省略。

创意图AI设计,仅供参考

不是拒绝知识传递,而是拒绝失真传递。文字易过时、易歧义、易脱离上下文;代码永远最新、行为确定、环境完整。当千万开发者习惯阅读提交历史、跟踪函数调用链、调试时单步进入源码,文档的缺口早已被实践填满。

Linus说:“如果你需要文档才能用我的代码,那说明代码还没写完。”他不靠说明书招揽人,靠代码的诚实、可溯与可验证,把每一个读者变成协作者——不是被告知怎么做,而是在代码河流中自己学会游泳。

由 dawei

【声明】:北京站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

发表回复