請注釋你那該死的代碼

來源:互聯網
上載者:User

 

我站出來就是為了要說一句:

請注釋你那該死的代碼。

每次我遇到一個程式員——有時是相當高水平的——總發現他會認為:你並不需要給你的代碼加註釋。我要說,這就是胡說八道。我很長時間以來一直這麼表 達。問題是,讓事情改變要比你想象的難。雖然我們正處在努力編寫那些討厭的代碼、準備發布一些會令人驚歎的新東西的緊要關頭,我們仍然幾乎注釋所有的東 西。沒有任何借口不去做這些事情。每隔3到7行代碼,你就能看到有長篇的社論發表。有時,幾百行代碼裡,你就能找到一個很好的笑話。

錯誤的藏身之處

看,一個是你想要的,一個是你實現的。你的bug就在這兩者之間。如果寫了注釋,你就是在告訴我你想要的。而你的代碼中告訴我你是如何去做的。程式的缺陷要麼存在於你想要的想法中,要麼,需求是對的,而你的代碼有問題。請協助我,讓我知道究竟是哪個錯了。

不要偷懶

一個常見的反對聲音是:我聽說,注釋經常會到期,因為代碼會經常更新,而注釋不會。你不更新注釋嗎?你的同事也不?不要偷懶,不要養成一個讓人認為 偷點兒懶無所謂的文化氛圍。告訴同事你是如何一絲不苟的注釋程式的,讓他們知道你也希望他們這樣去做。說不注釋是因為怕某人或某些地方在將來會造成你的錯 誤,這隻是在找借口。

你是有經驗的人

人本無知,這很自然,但你是有經驗的人。因此,你有義務教育那些需要學習的人。你的注釋會指導那些正在閱讀你的代碼的人。告訴他們為什麼在這裡要用 Tuple資料結構,而不是用其它的(更好的做法是附加一個stack overflow或dotnetperls上的連結 … 你完全可以做到這些,不是嗎?)你在這走了一個什麼捷徑?如果不走捷徑你就不能按時發布,所以,告訴這些新手你遇到的特殊情況。否則的話,最終你的不好的 代碼將會被四處拷貝,四處散播。看!你寫的爛代碼變成了公司的程式模板!完全沒有注釋!

你會打字

我的招聘過程有一部分是白板編程,一部分是鍵盤編程。所有好的程式員都是打字高手。就說你每分鐘能打出40-60詞。那請你告訴我,為什麼在你機槍 掃射似的編寫代碼時不加上注釋呢?當然,你可以花30秒時間告訴我,代碼寫的這樣一團糟是因為搞業務的那個傢伙需要程式在本周發布而換回不菲的7.5萬美 元。可是下個月呢?這些代碼不要了?封存到石頭裡了?我知道這些代碼是在幹什麼。但請告訴我你的意圖。

你在一天天變老

聽我說,我編程已經很久了,也許早在你上中學之前。我仍然在編程,我仍然喜歡編程。有朝一日,你也會變的跟我一樣老。如果你到了像我一樣(那時我已 經沒有能力再教育你),那時,有太多的層,有太多的抽象,有太多的技術架構,你無法完全記住。你的注釋就能出來指導你。它們會告訴你,6個月前,你是用這 種方法、這種模式實現的,而且這樣做只是為了炫耀。如果你是一個真正優秀——並且仍然在做編程的程式員——你會認識到,這些代碼寫的很爛,你現在需要以不 同的方式重新實現它。而你仍然有你的注釋來讓你回憶起當時的想法和為什麼這樣做。

所以,請注釋你那該死的代碼。

[本文英文原文連結:Comment your damn code ]



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。