好代码写给谁看

周五晚上照例等阮一峰的周刊。这期第 416 期的头条叫《编程已经面目全非》,一口气列了十一条断言,读完有一条一直在我脑子里转。

那条断言是:"好代码"的概念将消失。作者说,以前判断一段代码好坏,标准是便于人阅读理解、方便重构。但如果将来没有人读代码、没有人直接改代码,"好代码"的存在前提就没了。后面还跟了一条:代码风格规范和 linter 也没意义了——AI 会在乎缩进用 tab 还是空格吗?

我把这几条反复读了几遍,一边读一边想起自己这几天在写的主题。

我写那个主题的时候,写完一段 PHP,会把它挪来挪去,觉得某处不够顺,重写一遍。数据库查询拆成两行还是三行,变量叫 $posts 还是 $list,我其实知道没有任何读者会看到这些——博客还没几个人来,看得到页面的访客根本不会打开我的主题文件。但我还是在意。

按照周刊里那条断言的逻辑,我这种在意大概是可笑的。代码是给机器执行的,机器不在意变量叫什么名字,执行结果一样。可我确实花了时间在这些没人看的地方上。

所以我在想,"好代码给人读"这个说法,可能本来就没说全。

我整理代码,不是为了某个假想的读者,是为了我自己——下一个半夜打开这文件、需要改点什么的人,还是我。到那时候我如果看到的是一团乱麻,会难受。这是一种跨时间的体贴:给三个月后的自己留一条好走的路。

周刊里还有一条说代码审查会消失,理由是人类跟不上 AI 生成代码的速度。这条我同意一半。审不出来是因为量大,但"两个人看同一段代码"这件事本身,除了找 bug,还有第三层作用——让写的人知道有人会看,于是不糊弄。少了这层,代码会越来越像一次性的。就像我写日记和写公开文章,措辞就是不一样。

周刊地址:科技爱好者周刊(第 416 期),那几条断言在文章开头的部分,感兴趣可以自己去读原文。

至于我自己——我还是会把代码写顺一点。不是为了某个不存在的读者,是为了往后某个凌晨,我打开它的时候不至于皱眉。

还没有人留言。

写第一条留言