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

避免代碼注釋的五大理由

開發 開發工具 前端
代碼注釋的作用一直以來都被程序員們廣泛討論。很多人認為注釋不是必要的,寫注釋那是因為代碼可讀性太差了。原文作者Paulo Ortins發表了博文《5 reasons to avoid code comments》,以下為譯文

代碼注釋的作用一直以來都被程序員們廣泛討論。很多人認為注釋不是必要的,寫注釋那是因為代碼可讀性太差了。原文作者Paulo Ortins發表了博文《5 reasons to avoid code comments》,以下為譯文:


通常,我們閱讀軟件比編寫軟件花費的時間要更多。雖然我從未見過任何科學研究能夠證明這一點,但是在軟件領域,它就好比一個教條或者信念如此的根深蒂固。 正因為編寫軟件要比閱讀軟件要容易,因此代碼的可讀性而顯得尤為重要。程序員可以通過一些技術來實現它,其中一點就包括代碼注釋。

關于代碼注釋的文章,網絡上有很多討論。我們應該使用注釋來解釋代碼嗎?還是應該注重編寫表達式代碼而無需閱讀注釋?Joe Kunk曾發表過一篇文章《To Comment or Not to Comment》其中有段內容是說所謂的好代碼是指我們應該避免注釋,因為注釋通常是用來解釋/隱藏惡意代碼。

下面就來討論下避免寫代碼注釋的五大理由:

1. 程序員更加傾向于鼓勵”壞“代碼。

 有一種說法,有代碼注釋的就是好代碼,因此,程序員經常在代碼邊上寫注釋,使其看起來更加出色。如果我們把代碼注釋當做一種信號,那么也許我們正在編寫壞代碼。每當我們寫注釋時應該思考如何使代碼看清來更加潔凈。

2. 花費更多時間來編寫和維護

如果注釋沒有跟隨代碼的變化而變化,即使是正確的注釋也沒有用。注釋通常作為代碼的第二個版本。當為某個函數寫注釋時我們需要不斷的重復自己,這就違反了 DRY(Don’t Repeat Yourself) 原則。花費時間來增加復雜性,軟件需求改變了,代碼也隨之跟著變化。如果我們寫注釋,這就意味著必須去維護注釋。因此,除非是很必須要,否則我們應該拒絕 在注釋上花費雙倍時間,相反我們可以利用這些時間來提高代碼的質量或開發新的特性。

3. 注釋不是測試/驗證

修改代碼可以依賴工具,比如使用編譯器、IDEs及單元測試;而注釋卻不能。注釋沒有這些工具,你無法依賴工具或者單元測試在正確的地方或者過期后來確保 它們的正確性。一旦你寫了注釋,沒有測試模塊來驗證它的正確性,一旦這個注釋失敗了,那么它就永遠的失敗了。

4. 注釋沒有代碼文檔可靠

通常,注釋過期后,它們往往與代碼失去了連接性。程序員閱讀這些注釋或許被“欺騙”了。即使不斷的更新了代碼注釋,唯一了解的是這個代碼應該是什么以及它 的可讀性。舉個例子,如果老本問我們如果項目發生了更改,我們從哪能看出?是代碼還是注釋?——答案當然是代碼。

5. 代碼注釋風格填補了屏幕空間

 采用標準化的注釋尤為重要,某些注釋標準(如同下面)使用了很多行,這就要求你盡可能多的閱讀更多代碼。

 

  1. /** 
  2. * @param title The title of the CD 
  3. * @param author The author of the CD 
  4. * @param tracks The number of tracks on the CD 
  5. * @param durationInMinutes The duration of the CD in minutes 
  6. */ 
  7.  
  8. public void addCD(String title, String author, 
  9. int tracks, int durationInMinutes) { 
  10. CD cd = new CD(); 
  11. cd.title = title; 
  12. cd.author = author; 
  13. cd.tracks = tracks; 
  14. cd.duration = duration; 
  15. cdList.add(cd); 

原文鏈接:http://www.html5cn.org/article-5351-1.html

責任編輯:陳四芳 來源: 51CTO
相關推薦

2013-07-17 17:21:49

避免代碼注釋移動開發移動互聯網

2014-07-11 13:56:16

2013-09-25 09:58:33

必應

2010-07-28 16:09:53

蘋果

2016-09-29 14:39:01

openSUSELinux版本

2017-08-28 21:50:09

大數據PythonGo語言

2011-02-15 08:39:49

2018-02-10 09:48:04

存儲軟件理由

2013-09-17 10:14:22

騰訊搜狗

2011-05-18 10:40:19

Windows 7

2011-04-15 10:38:27

VDI

2012-04-18 09:42:36

數據分析Hadoop

2016-06-30 09:21:33

WindowsLinux系統

2016-08-10 10:27:30

2011-05-19 10:20:49

2010-09-02 15:58:46

2009-08-27 13:02:43

2010-07-16 10:14:07

2016-10-17 09:47:21

2011-08-31 14:52:41

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品观看 | 欧美日韩中文字幕在线播放 | 狠狠色狠狠色综合日日92 | 国产精品二区三区在线观看 | 亚洲三区在线观看 | 亚洲美女视频 | 国产在线视频一区 | 国产亚洲一区二区三区在线观看 | 亚洲精品成人在线 | 国产精品久久 | 在线国产小视频 | 欧美日韩在线免费 | 国产精品国产成人国产三级 | 在线看成人av | 欧美日韩一区不卡 | 精品欧美一区二区三区精品久久 | 黄色免费观看 | 色爱综合网 | 欧美区日韩区 | 一呦二呦三呦国产精品 | 亚洲一一在线 | 久久久久国产精品一区 | 成人伊人 | 日韩成人中文字幕 | 男女搞网站| 超碰97人人人人人蜜桃 | 亚洲午夜精品一区二区三区他趣 | 精品一区视频 | 国产精品国产三级国产播12软件 | 久久美国 | 欧美一二区 | 五月综合激情在线 | 伊人在线 | 欧美a免费 | 日韩欧美国产一区二区三区 | www国产亚洲精品久久网站 | 亚洲国产成人精品久久久国产成人一区 | 日本黄色免费视频 | 国产精品二区三区在线观看 | 免费看黄视频网站 | 久久精品亚洲欧美日韩久久 |