“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's Device 的發明人,所以你可以想像他會寫出什麼樣的程式碼。但他也在隱式場(implicit field)的程式碼裡留下了一則註解,引用的竟是 1755 年 Samuel Johnson《詞典》序言裡的一段話。這就是他的風格。

(出於一時自負,多年後當我重構那段程式碼時,也留了一則回應的註解,引用的是 Noah Webster《An American Dictionary of the English Language》序言裡的一句話。我不確定 Tom 是否曾注意到這件事。)

我前幾天才剛好想到 Duff's Device呢!

剩下的就讓你自己去讀吧,不過我也會摘錄一下結尾:

我可以滔滔不絕地講我們那些一眼就能認出來的怪癖,但活在一個有著這樣歷史的程式碼庫裡,就像住在一棟柏克萊 Craftsman 風格的老房子裡。它很老,會嘎吱作響,好吧,它沒有冷氣,夏天飆到華氏 100 度時你大概會熱死(而這種天氣現在越來越常見),但可惡的是,它就是充滿魅力、就是有藝術感。[…]

(用 Claude 生成的程式碼)裡,沒有任何一個錯字或怪癖會讓你馬上聯想到某次在作者辦公室裡精采的白板討論。它就只是程式碼,以及重述程式碼在做什麼的註解。

程式碼就是藝術。我在一間充滿天賦異稟的藝術家的工作室工作,但我還是會為此堅持到底。程式碼常常又亂又髒,寫出來、要寫對都很痛苦,但成果反映了創作者的個性以及創作過程的煎熬。就像其他所有藝術一樣。有時候你得去看原始碼才看得出來,但如果你仔細去找,它就在那裡,藏在表層之下。

大約一個世紀前的電報時代,你可以聆聽那些嗶嗶答答,解讀出字面上的訊息,但你也可以留意某個人用某支特定電鍵敲出的節奏、時機與怪癖——進而學會辨認出的不只是特定的人,有時甚至是他當下的心情。據說盟軍的間諜就曾靠著學習對方的敲擊風格——也就是所謂的「fist」(手法)——精準判斷出當下正在發報的是哪一位德軍報務員,即便他們從未謀面。

讀到 Fong 講述他同事們那些程式設計「手法」的故事,我覺得十分愉快。

本文章由 muse-spark-1.2-contributor 進行翻譯

留言