加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.ijishu.cn/)- CDN、边缘计算、物联网、云计算、开发!
当前位置: 首页 > 综合聚焦 > 人物访谈 > 人物 > 正文

Linus这文档洁癖豁免者,带出千万代码野蛮人?

发布时间:2026-10-10 23:09:57 所属栏目:人物 来源:DaWei
导读:  2025年7月某周二晚九点半,我蹲在公司服务器机房的冷气口后面,盯着屏幕上飘红的崩溃日志,旁边老周把半杯凉掉的速溶咖啡往我脚边一放,说“Linus那帮人带出来的,代码里连个注释都没有,连变量名都是‘a’‘b’,出了事连锅往

  2025年7月某周二晚九点半,我蹲在公司服务器机房的冷气口后面,盯着屏幕上飘红的崩溃日志,旁边老周把半杯凉掉的速溶咖啡往我脚边一放,说“Linus那帮人带出来的,代码里连个注释都没有,连变量名都是‘a’‘b’,出了事连锅往哪扣都不知道”。我当时还抱着“文档是底线”的老念头,跟他掰扯Linus当年怎么在邮件里骂开发者连API文档都写不明白,结果上周刚查出来,把我们系统搞崩的那个模块,就是某开源项目里扒的——模块的提交者跟着Linus学的,代码里连个基本的功能说明都没有,只在提交备注里写了“fix bug”,连哪个bug都没说,你说气人不?


  我原以为Linus那套文档洁癖是针对“写得烂还不认错的人”,结果这一年跟社区里的人打交道才发现,他骂归骂,对自己人那叫一个松,甚至有点“重代码轻文档”的纵容。比如他自己的内核代码,注释就跟没写似的,很多函数名就一个词,懂的人一眼能懂,不懂的人看了就像看天书,他还敢在邮件列表里说“文档是给懒人看的,能看懂代码才是真本事”,底下一群人附和,把“文档不重要”当成了酷事。


  就说上周跟社区对接那事儿,我跟对接的小伙子要一份模块的变更说明,他说“代码里改了,看代码就行”。我翻了一下,原来只是改了一个判断逻辑,连变量名都没换,结果上线后还是出了问题——之前的旧逻辑里有个隐含的安全校验,改的时候把那层给漏了,他自己都没注意到,因为他写代码的时候没加任何标记,只在自己的笔记里写了“改了个条件”,还说“Linus说过,代码就是最好的文档”。


  别笑,这真不是个例。我前阵子在某技术论坛上看有人吐槽,说他接手的项目里,前任开发者留的代码,连函数参数是啥意思都没写,问社区,人家说“Linus的内核代码也这样,能看懂是你本事,看不懂别用”。还有次我帮朋友排查问题,他扒的开源工具,里面有个核心类,整个类的注释就一行“处理请求”,方法名全是缩写,他改了后上线就炸,折腾了三天才找到问题。


  但你说Linus这豁免是错的?也不见得。哪年我刚入行的时候,带我的老工程师就说,当年开源社区里的代码,很多都是“写了就丢,有人能用就算本事”,那时候根本没什么文档规范,全靠开发者自己的理解,出了问题就改,改完就丢。现在虽然好了点,但还是有不少人跟着Linus那套,觉得“写文档浪费时间,能写出高效的代码才是王道”。


  上周我跟老周聊起这事儿,他说“你看现在那些大厂,代码文档写得比代码还长,结果出了问题还是没人知道怎么改”。我想了想,他说的也对。去年我在某大厂做过一个项目,文档写得巨细,从每个函数的参数到每一行代码的作用都写了,结果上线后还是出了问题,因为文档是文档,代码是代码,没人去核对,最后还是靠查日志才找到问题所在。


  不是说文档不重要,而是说,当所有人都把“写文档”当成一种负担,甚至当成一种“不酷”的事,那代码就成了黑盒,出了问题就像无头苍蝇,找不着北。但Linus那套也不是没有道理,他要的是“优胜劣汰”,能看懂他代码的人,自然能跟上他的节奏,看不懂的,自然会被淘汰。就像他在邮件里说的,“如果你连代码都看不懂,那你根本不配用我的东西”。


  不过话说回来,现在的情况有点变味了。很多人把Linus的“代码即文档”当成了逃避写文档的借口,甚至把“不写文档”当成了一种“技术特权”,觉得自己的代码不需要别人看懂,别人看不懂是别人的问题。这就有点过了。毕竟现在的代码不是一个人写的,是一群人写的,你不写文档,别人怎么改?怎么维护?怎么在你代码的基础上继续开发?


  我上周写了个模块,特意加了注释,还写了个简单的文档,结果被对接的小伙子说“你写这么多干嘛?Linus都不写注释”。我没理他,还是坚持加了。毕竟我自己也踩过没有文档的坑,知道那有多难受。


  其实Linus也不是完全不重视文档,他只是对自己人松了点,对那些“代码写得烂还不认错的人”,他骂得更凶。只是他的“松”被很多人误解了,当成了“不需要文档”的信号,结果带出了一群“代码野蛮人”——他们只会写代码,不会写文档,甚至觉得写文档是浪费时间,出了问题就甩锅,根本不管别人能不能看懂。


文章配图,仅供参考

  当然,这事儿也不能全怪Linus,毕竟他是内核的开发者,他有那个底气。我们这些普通人,没有他那样的技术实力,还是得老老实实写文档,不然哪天自己的代码崩了,连个能查的地方都没有。


  哦,对了,我上周跟对接的小伙子聊,他后来还是补了文档,只是补得有点敷衍,把之前的“fix bug”改成了“修复请求处理逻辑的校验问题”,还加了个注释,虽然简单,但至少能看懂了。看来还是得有人提醒他,不然他还以为Linus那套是对的。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!