精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

大牛談代碼異味如何清除

開發 前端
今天,Venkat Subramaniam 就關于清除代碼異味的話題給我們做了一個非常有趣的演講。下面就是我記錄的一些他的話。

為什么我們需要有質量的代碼?

敏捷開發方法是用來應付那些要求代碼做大量改動的反饋信息的方法。

如果程序沒有用一種好的表達方式來表現,那程序會很難讀,難維護,難修改。

什么是代碼異味?

代碼異味是一種由寫的很差的代碼引起的一種有臭味的感覺,一種程序什么地方會有問題的感覺

異味更多的是來自一種直覺,而不是一種有據可查的標準,當你看到有味的代碼時你就“感覺”到了

如果你不把異味清除,不久之后你就會習慣這種氣味,不再對它有察覺

用任何語言都能寫出有異味的代碼:即使最簡單安全的語言,你也能做出天才才能想出的蠢事:)

我們經常會意識不到自己在寫很臭的代碼,經常需要外人為我們指出這點

邊注:如果你不想刻意去批評某人的程序,不要說“太愚蠢了”,要說“哦,這很有意思…。可有一種更好的方法你知道嗎”

重復的代碼

會引起程序里面多個地方相同的錯誤

印度小伙:每兩個月我們都會把這相同的錯誤修改一次

Venkat:你們去掉了重復的代碼了嗎?

印度小伙:你說的這個方法不錯!

不必要的復雜

程序員本質上講高興去處理復雜的問題

復雜最恐怖

異常處理

問:有什么比一個空的異常捕捉代碼更糟糕的?

try{... } catch (Exception e){}

答:一個帶有注釋的空異常捕捉代碼!

try{... } catch (Exception e){// is this required? }

Java的異常檢查:好還是不好?

如果你不想處理一個異常,就把它傳遞下去

如果你想捕捉兩個異常,使用兩個catch代碼,不要只寫一個而用If條件處理

Switch語句& 按類型的條件判斷

Switch語句和按類型的條件判斷通常可以用多形性來代替

長方法

你不能在一屏上看到整個方法

這通常意味著一個方法承擔這多重任務

難于調試

不可測試

難于重用-> 導致程序員從方法的其它地方拷貝粘貼出重復的代碼

復雜的條件語句-> 挑戰大腦的邏輯分析能力

方法長度:組織歸納水平比控制代碼行數更重要

方法組成模式

方法里的所有語句都必須處在同一個歸納層次上

無用的注釋

讓代碼自我表白

標注為什么這樣,而不是如何這樣

對方法表現進行描述等于重復表現

這樣的注釋等于重復寫一遍代碼

i += 1 //遞增

長方法里用來描述這個方法有不同的功用的注釋

把里面的功能片段提取成小方法& 刪除注釋

IDE排泄物:IDE自動產生的注釋空白占位符

糟糕的注釋通常產生于TDD*

*(TDD:Threat driven development,恐嚇驅動開發)——你應該為方法的表象寫注釋,你應該為長方法寫注釋,等

產品里的注釋:

//上帝保佑,我實在不知道這是什么意思

變量名稱

使用能表意的名稱

不要用單個字母做名稱

也不要使用太長的名稱

繼承

繼承更多的是被濫用了

組合通常優于繼承

在一對一關系中使用繼承,滿足Liskov替換原則

不要用繼承來實現方法重用

重用方法時,委托是個更好的選擇

粘手的語言

這種語言更容易導致犯錯誤

最臭的代碼

冗長的類

重復的代碼

淘汰的方法

不必要的塑型(cast)

過度使用設計模式

代碼除味

代碼復查!

寫出之后盡快進行

要增量進行

要復查測試用例

可使用結對編程

但要保持結對伙伴的經常變動,否則你會習慣你的氣味,不再會有察覺

結對伙伴一、兩天調換一次

一些設計原則

高聚合

低耦合

Demeter定律 [不要告訴我,我會通知你]

Liskov替換原則

先讓它跑起來,再讓它無誤,再讓它快速

開發/閉合原則

反向依賴

單一責任原則

問和答

關于使用代碼檢測工具,例如PMD:這樣的工具非常的有用,它能讓你捕捉到很直接的問題,使你的代碼復查工作專注于高層面的設計原則問題

關于IDE上附加的工具:不要自己去運行它們。讓這些工具在后臺自動的運行(或智能化)

動態語言里需要重構嗎:動態語言里沒有太多的自動重構工具,但程序員仍然應該手動的重構

關于動態語言的設計模式:每種語言都有自己的模式和特色。例如:smalltalk的execute around method模式

關于掌握多種語言

你應該知道處理一個問題的多種范式,多種風格和多種方式

一種語言中學到的特色方法應用到其它語言里

知道各種不同方式的各自風險

關于編程語言趨勢:對函數性編程,移動設備編程興趣濃厚

關于著書:長時間的思考書中的各項主題,多做這方面話題的討論,吸取精華。當開始動手去寫時,已經胸有成竹,2周內把書寫成

關于思考文獻:思考文獻很有用,但你也要多看看批評性的思考性文章,它們是關于你如何去思考的(double loop learning?)

關于學習:在用戶組里跟其它人合作,交流,討論。你并不能學到所有的東西,但要努力縮小自己的“你不知道你不知道的東西”,讓它成為“你知道你不知道的”

原文鏈接:http://www.aqee.net/2011/05/18/cleaning-up-code-smells/

【編輯推薦】

  1. 敏捷教練都該下課——Fred George訪談錄
  2. 50萬行代碼的項目如何去讀經驗分享
  3. 想成為更好的程序員嗎?學習Prolog語言吧
  4. 老程序員10年技術生涯的思考 從C++到Java
  5. 程序員如何在"小公司成長"和"大公司學習"
責任編輯:陳貽新 來源: 外刊IT評論
相關推薦

2013-09-24 10:20:35

代碼代碼異味

2011-03-08 10:15:08

HTML 5

2015-05-15 15:30:00

CAP一致性可用性

2020-08-01 16:40:09

代碼語言Python

2009-03-19 10:21:35

微軟工程師職業發展

2010-05-06 20:45:37

2016-08-31 00:50:33

javaIT技術

2015-06-26 10:15:31

Java程序員Android

2023-10-04 09:17:03

機器人AI

2015-02-13 13:31:29

2018-06-11 08:40:41

游戲程序員修煉

2018-03-14 08:30:27

微軟Windows代碼

2011-06-09 15:45:53

網頁信噪比

2013-07-03 15:11:41

ANdroid

2020-11-20 10:22:34

代碼規范設計

2020-11-04 11:17:20

好代碼程序員整潔

2017-03-29 14:42:23

Windows 7Windows上網痕跡

2015-02-09 14:25:20

2021-01-06 13:34:17

AIAI未來

2012-05-18 09:34:19

程序員
點贊
收藏

51CTO技術棧公眾號

日韩欧美一级精品久久| 国产精品电影院| 97视频在线观看免费| 日本黄色网址大全| 外国电影一区二区| 亚洲精品久久7777| 欧美动漫一区二区| 国产免费黄色网址| 亚洲精品色图| 中文字幕欧美日韩va免费视频| 久久久福利影院| 欧美男人天堂| 亚洲日本va午夜在线影院| 激情小说网站亚洲综合网| 中文字幕欧美人妻精品| 一区在线视频观看| 色婷婷综合久久久久| 日本一卡二卡在线| 在线免费成人| 日本韩国欧美在线| 丁香六月激情婷婷| 最新电影电视剧在线观看免费观看| 国产成人综合网| 国产精品mp4| 日韩精品视频免费播放| 亚洲一区色图| 一区二区福利视频| 亚洲av成人片色在线观看高潮| 激情亚洲小说| 色婷婷亚洲一区二区三区| 日本老太婆做爰视频| 成人三级黄色免费网站| 91在线小视频| av一区二区三区免费| 亚洲在线精品视频| 日韩精品一二三四| 日本亚洲精品在线观看| 日韩欧美激情视频| 亚洲国产精品第一区二区| 久久久国产一区二区| 手机av在线不卡| 免费看成人吃奶视频在线| 亚洲国产精品久久精品怡红院| 欧美视频国产视频| 日韩成人免费av| 欧美日韩精品一区二区三区 | 国产极品精品在线观看| 日韩网红少妇无码视频香港| 欧美激情一区| 欧美精品在线视频观看| 久久免费看少妇高潮v片特黄| 不卡在线一区二区| 这里只有精品久久| 国产美女永久免费无遮挡 | 韩国av免费观看| 国产中文字幕一区二区三区| 日韩av资源在线播放| 国产麻豆剧传媒精品国产av| 国产精品99久久免费观看| 欧美一级国产精品| 欧美美女性视频| 婷婷久久免费视频| 欧美美女激情18p| 狠狠热免费视频| 丝袜美腿一区| 亚洲最大成人网4388xx| 一区国产精品| chinese偷拍一区二区三区| 久久久一区二区三区捆绑**| 精品日本一区二区三区| 高潮毛片7777777毛片| 国内精品久久久久影院色| 国产精品视频免费观看www| 日本熟妇一区二区| 国产精品老牛| 欧美在线影院在线视频| 尤物视频免费观看| 日本欧美久久久久免费播放网| 国产成一区二区| 中文字幕网址在线| 狠狠色丁香久久婷婷综合丁香| 国产日韩欧美另类| 国产精品久久免费| 国产精品亚洲а∨天堂免在线| 91欧美激情另类亚洲| 国产高清第一页| 成人免费视频一区| 蜜桃视频日韩| 香蕉视频在线看| 亚洲精品乱码久久久久| 在线免费观看成人| 懂色av一区| 色94色欧美sute亚洲线路二| 婷婷六月天在线| 国产一区二区三区| 亚洲白拍色综合图区| 一本加勒比北条麻妃| 欧美手机视频| www.日韩视频| 日韩三级一区二区三区| 日韩电影免费一区| 国产精品一区久久| 中文字幕在线播出| 国产高清亚洲一区| 蜜桃久久影院| 国产黄a三级三级三级av在线看 | 国产成人综合网站| 韩日午夜在线资源一区二区| 久热av在线| 日韩毛片精品高清免费| 免费一级特黄毛片| 免费在线观看一区| 日韩视频在线永久播放| 中国一级特黄录像播放| 日韩欧美高清在线播放| 欧美日本精品在线| 一级黄在线观看| 99久久精品费精品国产一区二区| 好看的日韩精品| 91在线中字| 色狠狠av一区二区三区| 丰满少妇中文字幕| 精品国产视频| 欧美激情乱人伦| 中文字幕+乱码+中文字幕明步| 国产九色精品成人porny| 日本不卡一区二区三区视频| 色婷婷在线播放| 91黄色在线观看| 色男人天堂av| 色呦哟—国产精品| 国产91精品不卡视频| 国产视频第一页| 日本一区二区三区四区在线视频 | 性欧美videoshd高清| 一本色道久久综合精品竹菊| 91传媒理伦片在线观看| 欧美激情国产在线| 国产成人91久久精品| 神马午夜电影一区二区三区在线观看| 国产精品拍天天在线| 免费裸体美女网站| 日韩人体视频| 久久久欧美一区二区| av免费在线观看不卡| 日本一区二区三区高清不卡| 男人日女人bb视频| 卡通动漫精品一区二区三区| 久久亚洲国产成人| 中文字幕第一页在线播放| 久久噜噜亚洲综合| 99精品视频播放| 欧美三级自拍| 国模gogo一区二区大胆私拍| 日批视频免费播放| 精品女厕一区二区三区| 人妻在线日韩免费视频| 国产日韩高清一区二区三区在线| 国产麻豆日韩| 国产在线xxx| 日韩精品一区二区三区视频播放| 免费精品在线视频| 久久国产人妖系列| 亚洲精品在线免费看| 国产91在线播放精品| 日韩中文娱乐网| 亚洲综合精品视频| 亚洲欧美日韩在线| 午夜视频在线网站| 国产精品久久久乱弄 | 一区二区日本视频| 国外成人在线视频网站| 国产白丝在线观看| 亚洲精品黄网在线观看| 亚洲天堂视频网站| 国产亚洲一区二区三区四区| 老头吃奶性行交视频| 亚洲国产欧美日韩在线观看第一区| 国产激情999| 麻豆视频免费在线观看| 欧美一区二区三区免费视频| 黑人巨大精品一区二区在线| 成人午夜精品一区二区三区| 伊人成色综合网| 欧美美乳视频| 国产一区私人高清影院| 97caopor国产在线视频| 亚洲精品理论电影| 欧美亚韩一区二区三区| 国产精品久久久久久亚洲毛片| 久久综合在线观看| 亚洲第一伊人| 日韩福利一区二区三区| 亚洲伊人伊成久久人综合网| 欧美极品第一页| 久久电影中文字幕| 欧美一区二区网站| 日本视频网站在线观看| 国产精品国产自产拍在线| 无套白嫩进入乌克兰美女| 亚洲人成免费| 亚洲高清精品中出| 哺乳挤奶一区二区三区免费看| 国产成人精品优优av| 国产精品久久麻豆| 精品国产三级电影在线观看| 正在播放亚洲精品| 亚洲国产日韩a在线播放| 日本一级免费视频| 国产精品亚洲午夜一区二区三区| aa在线免费观看| 中文字幕乱码亚洲无线精品一区| 免费日韩av电影| 日韩免费一级| 国产成人精品免费视频| 亚洲小说区图片区都市| 国产亚洲精品久久久久久牛牛| www.污视频| 欧美午夜电影在线播放| 免费毛片一区二区三区| 中文字幕精品一区二区精品绿巨人| 性欧美18—19sex性高清| 麻豆国产一区二区| 日韩欧美综合在线视频| 久久成年人网站| 亚洲精品专区| 亚洲黄色网址在线观看| 国内精品视频在线观看 | 国产熟妇一区二区三区四区| 亚洲欧美偷拍另类a∨色屁股| 无码人妻aⅴ一区二区三区| 韩国精品免费视频| 欧美日韩在线免费播放| 亚洲欧洲视频| 中国女人做爰视频| 日韩国产一区| 色播五月综合| 免费欧美一区| 精品国产乱码久久久久软件| 午夜视频在线观看精品中文 | 成人黄色毛片| 77777少妇光屁股久久一区| av在线网页| 欧美巨大黑人极品精男| 免费在线观看av片| 这里只有精品视频在线| 毛片在线播放网址| 日韩国产精品一区| 香蕉国产在线视频| 日韩免费一区二区| 国产成人精品免费看视频| 欧美三级在线播放| 69视频免费看| 色综合久久66| 国语对白永久免费| 精品久久久国产精品999| 国产精品30p| 亚洲成人一区在线| 国产午夜精品无码一区二区| 一区二区成人在线观看| 欧美黑人一级片| 亚洲人成电影网站色mp4| 麻豆视频在线免费看| wwwww在线观看免费视频| jizz久久精品永久免费| 激情久久五月| 日本高清视频一区二区| 精品伦精品一区二区三区视频密桃| 久久综合网色—综合色88| 中文在线永久免费观看| 国产精品一卡二| 人妻巨大乳一二三区| 国产ktv在线视频| 久久精品福利视频| 九七久久人人| 欧美精品电影免费在线观看| 女子免费在线观看视频www| 欧美国产精品人人做人人爱| 制服丝袜中文字幕在线| 欧美精品第一页在线播放| 蜜桃视频在线观看播放| 欧美精品一区二区蜜桃| 久久久久久久久久美女| 国产精品揄拍100视频| 久久久蜜桃精品| аⅴ天堂中文在线网| 中文在线免费一区三区高中清不卡| 国产又黄又粗视频| 国产日产欧美一区| 日韩va亚洲va欧美va清高| 亚洲综合一区二区三区| 久久久久久久久久久久久久av| 日韩欧美精品网站| 中文字幕乱码中文字幕| 日韩一区二区三区视频在线观看| 日韩在线一区二区三区四区| 精品亚洲va在线va天堂资源站| 午夜视频在线| 久久久久久91香蕉国产| 中国色在线日|韩| 国产精品揄拍一区二区| 亚洲精品国产九九九| 欧美一区2区三区4区公司二百| 手机亚洲手机国产手机日韩| 一区二区三区的久久的视频| 国产国产精品| 国产高清精品在线观看| 国产在线精品国自产拍免费| 成人区人妻精品一区二| 国产精品萝li| 国产黄色片视频| 欧美日韩激情一区二区| 色视频在线观看免费| 色噜噜狠狠色综合网图区| 亚洲精品**中文毛片| 成人做爰www免费看视频网站| 色橹橹欧美在线观看视频高清| 在线国产99| 久久精品一区二区国产| 中文字幕一区二区三区乱码不卡| 国产精品拍天天在线| 91精品国产高潮对白| 欧美精三区欧美精三区| 少妇喷水在线观看| 欧美成人免费va影院高清| 欧美自拍偷拍第一页| sdde在线播放一区二区| 一区二区三区四区激情| 日本电影亚洲天堂| 在线看免费毛片| 男女视频在线观看| 香蕉亚洲视频| 国产亚洲一区二区三区在线播放 | 亚洲一区二区三区四区在线免费观看 | 一个人看的www视频在线免费观看| 国产97在线观看| 6080成人| 美女黄色片网站| 老妇喷水一区二区三区| 你懂的在线观看网站| 亚洲一区二区三区四区中文字幕| 97超碰人人模人人人爽人人爱| 亚洲第一黄色网| 一区二区三区伦理| 欧美特级www| 久久精品日产第一区二区三区乱码| 成年人性生活视频| 奇米综合一区二区三区精品视频| 制服丝袜av在线| 一区二区三区中文字幕| 国产内射老熟女aaaa∵| 在线观看日韩欧美| 中文字幕21页在线看| 99热在线国产| 久久午夜无码鲁丝片| 杨幂一区二区三区免费看视频| 91免费在线视频| 日韩av片子| 久久久精品麻豆| 国产偷国产偷精品高清尤物| 国产午夜精品无码| 亚洲精品日韩欧美| 免费在线小视频| 狠狠色综合色区| 亚洲最黄网站| 欧美 日本 国产| 国产精品一区二区三区四区| 香港三级日本三级a视频| 蜜桃av噜噜一区二区三区小说| 波多野结衣一本| 日韩欧美999| 国产污视频在线| 国产aⅴ夜夜欢一区二区三区 | 国产精品美女久久久久久免费 | 韩国成人在线视频| 亚洲色婷婷一区二区三区| 精品毛片乱码1区2区3区| 美女高潮视频在线看| 久久久久久久久四区三区| 模特精品在线| 成人黄色a级片| 欧美日本一道本| 色yeye免费人成网站在线观看| 国产综合动作在线观看| 香蕉成人久久| 9.1片黄在线观看| 欧美日韩你懂的| 黄色精品在线观看| 国产精品免费一区二区三区在线观看 | 亚洲成人三级| caoporen国产精品| 一区二区三区高清视频在线观看| v8888av| 欧美精品在线观看播放| 国产盗摄在线观看| 精品日本一区二区| 久久精品99国产精品| 久久国产精品二区| 亚洲免费一级电影| av一级久久|