“Every now and then some Unicode hyphen character makes its way into comments.”

Marcin Wichary

时不时就有 Unicode 连字符混进注释里

原文由 Marcin Wichary 发布,订阅该博客

皮克斯的软件工程师 Julian Fong在 Mastodon 上发了一个简短的串文,观点很有意思,是我以前从未见过的:

我工作中仍然不使用任何 AI 生成的代码,但最近需要审阅的这类代码却越来越多。其中让我困扰的一点,就是这些代码是多么缺乏个性。

RenderMan 是一个已有四十多年历史的代码库。它汇集了各种带有鲜明个人风格的代码,而写出这些代码的人本身也同样个性十足。

我在这个代码库里待了 26 年多,很多代码块我只要看看缩进、注释或编码风格,就能认出是谁写的。而且我常常能把某种风格和作者的性格特点对应起来。

Dan McCoy 在 1990 年写的通用多面体转换代码至今仍在使用。这恐怕是仅存的几段还在用 for ( ; l; l = l->next) 这种写法来遍历链表的代码之一。Dan 也是我见过的唯一一个会在注释里使用 R.N.G 这种缩写的人。

Tom Duff 是 Duff Device 的发明者,所以你可以想象他会写出什么样的代码。但他在隐式场(implicit field)代码里还留过一条注释,引的是 1755 年塞缪尔·约翰逊《词典》序言里的一句话。这就是他的风格。

(出于一时的狂妄自大,多年后我在重构那段代码时,也留了一条回应性的注释,引的是诺亚·韦伯斯特《美国英语词典》(An American Dictionary of the English Language)序言里的一句话。我不确定 Tom 是否注意到了。)

前几天我刚好还在想起 Duff’s Device呢!

剩下的部分就请你自己去读吧,这里只摘录一下结尾:

我可以没完没了地讲我们那些可辨识的怪癖,但在这样一个有历史积淀的代码库里工作,就像住在一栋伯克利工匠风格的老房子里。它很旧,会嘎吱作响,好吧,它没有空调,夏天热到 100 度时你可能会热死(而这种天气如今越来越常见),但该死,它就是有魅力,就是有艺术感。[…]

[而用 Claude 生成的代码]里,没有任何一个拼写错误或小怪癖能立刻让你想起作者办公室里那场有趣的白板讨论。它只是代码,以及复述代码在做什么的注释。

代码就是艺术。我在一家拥有一群才华横溢到不可思议的艺术家的工作室工作,但我依然会坚持这个观点。代码常常是混乱、肮脏的,写出来、写对都很痛苦,但成果会反映出创造者的个性以及创造过程中的艰辛。和其他艺术一样。有时你得去看源代码才能发现这一点,但只要你去找,它就在那里,藏在表层之下。

一百年前,在电报时代,你可以听着嘀嗒声破译字面上的电文,也可以留意某个人用某个特定电键敲出的节奏、时机和细微差别——从而不仅认出是谁在发报,有时甚至能感知对方的情绪。曾有故事说,盟军的情报人员仅凭敲击风格——也就是所谓的“手法”(fist)——就能准确判断出此刻正在发报的是他们监视的哪一位德国报务员,尽管他们从未谋面。

读到 Fong 讲述同事们编程“手法”的故事,让人觉得十分愉快。

本文章由 muse-spark-1.2-contributor 进行翻译

评论