您的位置:首頁>正文

這些“不要臉”的程式師背後捅刀,告訴我們為什麼要好好寫注釋

代碼注釋的作用, 不需要對程式師解釋了。 有時在查看他人代碼, 能看到一些令人不禁大笑的注釋。 比如:

C/C++學習交流群:C/C++ 8群 491994603

Bill Poucher 的分享(他是一位元電腦科學教授)

我見過的最佳注釋是以 HTML 格式寫在原始程式碼裡的(更多精彩C/C++學習交流群: 491994603), 任何想要閱讀的人都能看得見。 我管它叫“Cerny效應”。

曾經有一位很有天賦的捷克研究生 Tomas Cerny, 在 Baylor 大學 ICPC(國際大學生程式設計競賽)技術研發部主任 Jeff Donahoo 博士的領導下, 負責將另外一位很聰明的研究生的設計原型轉換成實際產品。

有一天, Jeff 到我的辦公室跟我說, 在他們ICPC實驗室, 冷戰的格局正在形成。

因為有人在原始程式碼的注釋裡寫了一些話, 冒犯到了其他人。 (為了看看情況, )我就隨他一起去找了Tomas。

Jeff去了以後就開門見山地問:“Tomas, 你是不是在Joel的代碼上加了注釋, 說他的代碼是愚蠢(retarded)的?”Tomas倒是很坦白地說:“是的。 ”Jeff又問:“你憑什麼這麼寫呢?”Tomas回答說:“因為(他的代碼)確實愚蠢(retarded)啊!”

我就站在一邊看著, Tomas一臉懵逼, Jeff強壓怒火, 場面真是大寫的尷尬。 接著, Tomas拿出了他的《捷克語-英語詞典》, 打開, 上面寫著, 詞義:“開發中(under developed):retarded”(譯注:其實retarded這個詞有兩個意思, 既有“弱智, 愚蠢”的意思, 也有專案未完成, 正在開發中的意思, 這也是造成這個誤會的原因。 )

是的, 開發確實還沒完成……後來, Tomas就把注釋修改為了“建設中(Under construction)”。 然後我和Jeff都對Tomas拓展英語能力的熱情捧腹大笑。

我至今不知道當年這個誤會是不是真的解決了。

跟你們說, 我和Jeff都很愛講這個段子, 後來每當我們把Tomas介紹給ICPC新成員的時候, 就一定會講這個段子。 Tomas現在已經是布拉格捷克技術大學的電腦科學系教授了, 他還是學校ICPC技術部的奠基人, 也是我非常好的朋友。

Tomas不僅在Baylor大學獲得了碩士學位, 而且他在這裡找到了他的伴侶, 一位音樂家, 同時也是奧運會級別的田徑選手。 當然, 這是另外一個關於奧林匹克的愛情故事了。

ICPI-ACM國際大學生程式設計競賽, 由IBM贊助。

Anirudha Bose 的分享:

謝爾蓋.布林(Google的聯合創始人之一)在斯坦福大學念電腦科學博士學位的時候, 他的簡歷裡並不含任何”待遇要求“(Objective)的字眼。 但當你去查看他的簡歷的HTML原始程式碼的時候,

你會看到(他在簡歷HTML原始檔案裡明確寫了“待遇要求”, 只是用注釋注掉了, 在流覽器頁面上不顯示。 ):

C/C++學習交流群:C/C++ 8群 491994603

(其“待遇要求“的內容是:辦公室要大, 掙錢要多, 幹活要少。 如果能經常去奇妙的地方旅行而且還能給報銷的話, 那就更好了。 )

Abhinav Upadhyay 的分享

1

2

/* You are not expected to understand this */

/* 我們並不指望你能看懂這段話 */

這段注釋並不是我親眼所見, 但是它在網上傳得很厲害。 這段注釋是出自于貝爾實驗室的Unix系統第六發行版本, 並在《Lions’ Commentary on UNIX 6th Edition, with Source Code》這本書中標注出來的。

代碼和標注的細節如下:

C/C++學習交流群:C/C++ 8群 491994603

Liu Wei 的分享[譯注:這明顯是一位來自中國的工程師]:

C/C++學習交流群:C/C++ 8群 491994603

Michael Dehmlow 的分享

我新入職了一個公司, 然後發現了一段三周之前寫的注釋, 這段注釋是專案之前的研發團隊寫的, 寫的日期就是我來公司面試和正式入職的這段期間。 (快樂學習,好好寫注釋,C/C++學習交流群:C/C++ 8群 491994603)

我有幸在原來負責這個項目的先生們被炒魷魚的前一天被派來參與這個項目。

C/C++學習交流群:C/C++ 8群 491994603

C/C++學習交流群:C/C++ 8群 491994603

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示