成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

什么時候應該避免注釋代碼

開發 后端
看到標題,我知道你可能會想:“我為什么要避免代碼注釋,這難道不是一件好事嗎?”。是的,寫注釋在大多數情況下是有用的。但是,請注意,我說的是“在大多數情況下”,因為有一些情況下,你不應該寫注釋。

看到標題,我知道你可能會想:“我為什么要避免代碼注釋,這難道不是一件好事嗎?”。是的,寫注釋在大多數情況下是有用的。但是,請注意,我說的是“在大多數情況下”,因為有一些情況下,你不應該寫注釋。

還不相信?那讓我告訴你:寫注釋有時會壞事!會導致壞代碼!

請允許我用一句名言來開始我的論證:不要注釋壞代碼——重寫吧。——Brian W. Kernighan and P. J. Plaugher

這句話給我流下了非常深刻的印象。仔細想一想,有多少次你注釋你的代碼,只是因為擔心自己將來再回過頭來閱讀的時候可能會不理解它的意思?至少都做過一次吧。坦率地說,我有很多次是因為這個原因才注釋的,尤其是在那些我還是重構和編寫干凈代碼的新手的日子里。

[[152665]]

那么,為什么這樣的注釋反而不好呢?簡而言之是因為,我們會因為有注釋而放任編寫壞的代碼!正如你所看到的,注釋有時候反而激勵了我們去寫一些不整潔的代碼。

另一個原因是因為注釋會誤導我們。有多少次你已經改變了代碼,卻忘了改旁邊的注釋?別否認,這種事時常發生。這就是為什么你經常聽到這樣一句話,“真理只存在于代碼中”。

那么,什么時候你不應該寫注釋呢?

有一個經驗法則就是,無論何時你發現自己要使用注釋來解釋這段代碼是用來干什么的時候,那么基本上就是你的代碼需要重構以變得更整潔的時候。

典型的解決方案

現在你知道為什么有時候反而要避免寫注釋了,那么有什么解決辦法嗎。事實上,目前還沒有一個有效的解決方案,但是你可以清潔你的代碼,這樣你(以及其他人)就可以在沒有注釋的情況下也能理解它了。

為了用可讀的代碼替換掉注釋,通常我們的典型解決方法是使用提取方法重構(Extract Method refactoring)。這種重構方式是我最喜歡的。對此我也寫過一篇博客,里面有完整的例子:《Break Your Method Into Smaller Ones》。

下面讓我們看一個簡單說明如何提高你的代碼,從而解放注釋的例子。

<?php

// Check to see if the customer can get free product
if ($customer->isPremium() and $customer->numberOfPurchases > 8) {

}

// OR

if ($customer->canGetFreeProduct()) {

}

我希望你能注意到這兩個條件語句之間的差異。哪一個更整潔?很明顯第二個更整潔,更好。這是因為,首先,可以刪除注釋,因為我們看代碼就明白了意思。其次,也是最重要的一點是,我們提取了檢查客戶是否值得獲得免費產品的邏輯到它的方法中,這是一件好事,特別是當你想要在應用程序中再次使用它的話。

對于更詳細的例子,我推薦你閱讀我以前發表過的文章。

結論

請允許我用一個免責說明來結束這篇文章。我不反對注釋。注釋在大多數情況下是非常有用的,尤其是在開源項目中。

我想說的是,你不應該為你的壞代碼注釋。請記住,“真理只存在于代碼中”。

責任編輯:李英杰 來源: 碼農網 – 小峰
相關推薦

2015-10-26 09:38:52

避免注釋代碼

2012-07-26 10:27:31

PHP

2023-03-29 15:01:43

微服務開發

2022-09-27 15:06:07

微服務架構開發

2015-08-20 09:06:48

程序員

2010-11-09 13:58:03

SQL Server鎖

2024-09-02 08:53:44

2023-04-24 14:32:54

2020-06-17 10:35:16

機器學習AI人工智能

2020-05-12 11:25:50

MySQLES數據庫

2017-05-15 09:55:07

2015-07-08 15:55:01

NSStringcopystrong

2012-09-24 10:20:39

JavaScriptJS

2013-11-28 16:03:24

2023-09-26 11:28:08

代碼注釋軟件開發

2022-05-19 10:27:34

機器學習人工智能

2024-08-05 01:22:16

2017-06-28 15:06:51

PythonLambda函數

2020-04-14 12:53:01

Nuxt.jsVue.js前端

2021-08-13 11:31:23

HTTP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文在线一区二区 | 成人午夜视频在线观看 | 中文字幕免费观看 | 日韩精品一区二区在线观看 | 久久久成人一区二区免费影院 | 国产精品a久久久久 | 亚洲aⅴ | 日韩一区二区福利视频 | 国产精品九九九 | 综合亚洲视频 | 亚洲欧美一区二区三区在线 | 亚洲视频网 | 久久69精品久久久久久久电影好 | 在线成人福利 | 久久精品二区 | 看黄在线| 91文字幕巨乱亚洲香蕉 | 自拍偷拍第一页 | 精品久久久久久久久久久下田 | 可以在线观看av的网站 | 91久久久久久久久久久 | 请别相信他免费喜剧电影在线观看 | 激情国产视频 | 国产精品美女www爽爽爽 | 国产精品视频一 | 欧美天堂| 成人二区 | 国产性色视频 | 91精品国产综合久久精品 | 国产精品国产三级国产播12软件 | 国产精品亚洲一区二区三区在线 | 欧美久久久久久久久 | 羞羞视频在线观看 | 视频在线亚洲 | 免费一区二区三区 | 中国人pornoxxx麻豆 | 亚洲精品久久久一区二区三区 | 91麻豆精品国产91久久久久久 | 久久久久久国产精品 | 欧美一级片在线观看 | 久久精品欧美一区二区三区麻豆 |