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

避免代碼注釋的五大理由

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

[[77615]]

代碼注釋的作用一直以來都被程序員們廣泛討論。很多人認為注釋不是必要的,寫注釋那是因為代碼可讀性太差了。原文作者 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. $string = 
  2. “Lorem ipsum dolor sit amet, consectetur 
  3. adipiscing elit. Nunc ut elit id mi ultricies 
  4. adipiscing. Nulla facilisi. Praesent pulvinar, 
  5. sapien vel feugiat vestibulum, nulla dui pretium orci, 
  6. non ultricies elit lacus quis ante. Lorem ipsum dolor 
  7. sit amet, consectetur adipiscing elit. Aliquam 
  8. pretium ullamcorper urna quis iaculis. Etiam ac massa 
  9. sed turpis tempor luctus. Curabitur sed nibh eu elit 
  10. mollis congue. Praesent ipsum diam, consectetur vitae 
  11. ornare a, aliquam a nunc. In id magna pellentesque 
  12. tellus posuere adipiscing. Sed non mi metus, at lacinia 
  13. augue. Sed magna nisi, ornare in mollis in, mollis 
  14. sed nunc. Etiam at justo in leo congue mollis. 
  15. Nullam in neque eget metus hendrerit scelerisque 
  16. eu non enim. Ut malesuada lacus eu nulla bibendum 
  17. id euismod urna sodales. “; 
  18. $compressed = gzcompress ($string); 
  19. echo “Original size: “. strlen ($string).”\n”; 
  20. /* 輸出原始大小 
  21. Original size: 800 
  22. */ 
  23. echo “Compressed size: “. strlen ($compressed).”\n”; 
  24. /* 輸出壓縮后的大小 
  25. Compressed size: 418 
  26. */ // 解壓縮 $original = gzuncompress ($compressed); 

PS:本文所說的“避免代碼注釋",并不是說就不寫代碼注釋,而是盡量避免去寫代碼注釋,假如你認為值得也可以這么做。

責任編輯:閆佳明 來源: apkbus
相關推薦

2013-07-16 10:49:11

代碼注釋

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

2009-08-27 13:02:43

2010-09-02 15:58:46

2010-07-16 10:14:07

2016-10-17 09:47:21

2022-04-25 12:41:33

SIEM安全信息事件管理安全運營
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区三区在线观看国产 | 美女张开腿露出尿口 | 成人欧美 | 丝袜美腿一区二区三区动态图 | 亚洲第一区国产精品 | 超碰日本| 欧美激情视频网站 | 国产成人福利视频 | 午夜成人在线视频 | 红桃成人在线 | 欧美亚洲第一区 | 国产成人精品久久二区二区 | 国产精品福利在线 | 亚洲a在线观看 | 99精品视频一区二区三区 | 久久亚洲一区二区三区四区 | 91久久久久久| 亚洲欧美在线一区 | 久久免费资源 | av片在线观看网站 | 日韩视频精品在线 | 99re视频这里只有精品 | 蜜臀久久 | 中文字幕一二三区 | 国产精品一卡二卡三卡 | 国产精品极品美女在线观看免费 | 成人二区| 中文字幕第49页 | 伊人网伊人网 | 天天操天天操 | 国产精品高潮呻吟久久 | 国产高清免费 | 亚洲自拍偷拍欧美 | 日韩一区二区在线视频 | 天天搞天天搞 | 国产精品99久久久久久宅男 | 日韩精品一区二区三区在线观看 | 手机在线不卡av | 国产九九九九 | 国产一区二区在线免费播放 | 色香婷婷 |