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

避免代碼注釋的五大理由

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

[[77615]]

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

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

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

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

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

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

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

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

3. 注釋不是測試/驗證

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

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

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

5. 代碼注釋風(fēng)格填補了屏幕空間

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

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

責(zé)任編輯:閆佳明 來源: apkbus
相關(guān)推薦

2013-07-16 10:49:11

代碼注釋

2014-07-11 13:56:16

2013-09-25 09:58:33

必應(yīng)

2010-07-28 16:09:53

蘋果

2016-09-29 14:39:01

openSUSELinux版本

2017-08-28 21:50:09

大數(shù)據(jù)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

數(shù)據(jù)分析Hadoop

2016-06-30 09:21:33

WindowsLinux系統(tǒng)

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技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久久一区二区 | 在线视频 亚洲 | 日韩在线精品视频 | 久久专区 | 日韩激情在线 | 国产欧美日韩一区 | 在线免费观看毛片 | av黄色国产 | 欧美国产精品一区二区三区 | 亚洲成人免费电影 | 亚洲国产中文字幕 | 中文字幕精品一区二区三区精品 | 国产高清一二三区 | 国产探花在线观看视频 | 中文字幕视频在线观看 | 日产精品久久久一区二区福利 | 亚洲福利av | 国产一区二区 | 亚洲成人免费在线 | 91日日 | 在线观看视频h | 亚洲三区在线播放 | 日韩成人av在线 | 欧美成年网站 | 国产乱码精品一区二区三区中文 | 国产精品美女久久久久aⅴ国产馆 | 日本韩国电影免费观看 | 中文字幕在线一 | 午夜日韩 | 日本视频一区二区三区 | 精品1区2区| 伊人影院99 | 狠狠ri| 久久伊人精品 | 欧美成人a∨高清免费观看 色999日韩 | 美女一区二区在线观看 | 国产九九精品视频 | 中文字幕精品一区 | 在线视频成人 | 看黄在线| 欧美成人激情 |