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

郭昂:漫談重構

開發 架構
首先重構面臨的背景都是相似的,程序員們為了快速完成需求和上線而寫出了最基本的代碼,而在功能的不斷擴充過程中,以打補丁的方式對代碼進行擴充,中間還會面臨著開發人員的變更和離職。逐漸的,代碼就會越來越臃腫,漸漸的變得難以維護。

因為工作內容的原因,我在前后兩家公司中的工作中主持和經歷了十余次代碼和架構的重構,下面隨便說說我對重構的一些經驗和想法。

關于重構

首先重構面臨的背景都是相似的,程序員們為了快速完成需求和上線而寫出了最基本的代碼,而在功能的不斷擴充過程中,以打補丁的方式對代碼進行擴充,中間還會面臨著開發人員的變更和離職。逐漸的,代碼就會越來越臃腫,漸漸的變得難以維護。

糟糕的架構會有什么樣的影響?首先是開發效率的降低,在糟糕架構下加進新功能,會受之前代碼的影響,可能存在意想不到的改動點和問題點,開發和調試時間都會大大增加;其次是故障率的提升,在質量低下的代碼中,總是容易藏著很多不易發現的坑,這些都會成為故障的隱患;同時,架構也會使得需求的完成大打折扣,使得設計好的目標,因為架構限制或者性能等原因,只能完成80%甚至更低。

重構要解決的問題

重構不能憑空重構,一定是要解決一個問題,一般情況下重構要解決的問題大致有以下幾種:

·結構糟糕。相信很多碼農們,都遇到過接手別人的代碼后都感到撓頭的事情,五千行以上的文件,三千行以上的函數,面對這樣子的代碼,對其進行修改和繼續開發是件很艱難的事情。

·安全隱患。很多代碼,都只是為了功能上快速完成,而對很多潛在的安全風險置之不管,如內存管理、異常處理、模塊接口等。有的雷如果不掃,可能遲早有一天會爆發。

·性能問題。對于很多大型服務,性能高一點可以節省很多的服務器費用。性能問題主要需要找到核心問題,有的問題出在架構,而大多出代碼上。

·功能擴展。有的模塊,開始設計時只是實現一些很基本的功能,而隨著產品功能不斷增強,被賦予了越來越復雜的功能,到了一定程度,需要進行重構以讓其能夠實現新賦予的任務。

·協同開發。很多時候,一個大系統往往需要多個人一起進行開發,如果需要這些人改同一個類甚至同一個函數,往往是沖突不斷,而代碼的整合往往也會存在更多問題。這時候需要很好的架構能夠支持多人的共同開發和修改。

·模塊調試。在一個大系統中,往往有很多子模塊互相關聯,而假如某個模塊的調試需要啟動整個大系統,或者會受到其他模塊穩定性的影響,對于效率是非常低的。而重構建立調試層或者開發調試工具是更好的選擇。

·模塊復用。有些時候,多個系統或算法,可能會用到子算法和子模塊,而不同項目或模塊重復開發相同功能的子模塊,在很多公司都很常見。而很多時候,將一些公共的部分抽象出來,能夠將這部分做的更好更精,而從整體上,往往能大幅度提高開發效率和效果,往往也能優化算法性能。

·算法使用不當。在有些模塊中,使用了不恰當的數據結構或者相關算法,使得或者是性能,或者是效果出現了問題。這種情況,甚至要將原有的體系結構推到重來,重新設計算法和數據結構,達到盡可能好的匹配效果。

·承載規模不夠。對于一些系統,都有其設計的容納規模,例如瞬間訪問量、同時在線人數,很多公司從小到大都經歷過這個過城,當超過一定量級時,很多時候并非簡單通過加服務器能解決,有時需要重新設計架構。就像12306,因為架構問題使得很難承擔過高的瞬時在線人數。

重構經驗感受

重構時,第一道難關是如何過領導這道關。很多領導都要背著產品指標和任務,大多人也更關心其能夠在多長時間做出什么,重構這種事情,在很多時候,有可能是“費力不討好”的代名詞,因為在大多情況,無法幫助領導完成指標。這種情況下,如何獲得領導的支持就極其重要了。

對于重構,一種方法是,讓重構與某些技術或產品指標掛鉤,例如完成新產品、改進效果、提高性能等,相當于是重構伴隨著其他改進搭幫上線,那么這種情況可以比較順利的完成重構。

而如果單純的為了架構的合理性而去重構的話,就需要去說服領導,為什么原來的架構會降低開發效率,新做的架構能帶來哪方面的提升。一定要讓領導明白,這個能帶來實實在在的長期收益,不管性能、效率、安全等都可以,而并非只是“看著不爽”而進行的重構。

如果團隊規模有一定的人的話,也可以分出一部分進行新型架構的開發,而另一部分人在現有架構上進行改進,使得短期目標和長期目標兩不耽誤。這時候,值得注意的就是,不管從代碼還是設計角度上來看,都要讓現有做的事情能夠復用,而不是新架構上線之后就會被廢掉。

如何進行漸進式重構,也是很多架構師需要去思考的問題。就是不搞一下子半年一年的重構,而是以月為單位,快速的迭代,能夠很快的看到效果,并且小規模投入使用。

不管怎樣,重構,一定不能是為了重構而重構,或者對前人的代碼看著不爽,或者抱有技術完美主義而進行重構,最重要是找準其要解決的實際問題,這時候的重構,能帶來的是開發效率上的提升。

而在重構的過程中,也需要做好新架構的設計,并且擁有一定的前瞻性,否則很容易出現新架構、新新架構、新新新架構這樣子的事情。另外,也要盡可能的增強代碼的復用性,讓其中的模塊,在任何一個架構中都能夠很好的被應用,當然這個要根據具體情況具體分析。

對于重構,也盡量不要擁有技術完美主義。很多時候,使用最成熟的方案及最簡單的架構模型實現所需要的功能一般來說更加“簡單可依賴”,有的時候架構過于復雜反而喧賓奪主,因為所有架構都是為了功能服務的。同時,也盡量不要使用很多未經廣泛使用的前沿技術,因為這些在開發和部署過程中,很多都可能會遇到意想不到的問題,延緩開發速度并影響線上效果。

此外,作為重構時的負責人,一定要緊跟代碼開發的過程,并隨時進行指導,一般情況下,不要相信寫出糟糕代碼的人,經過略加指導就能寫出漂亮代碼了。我曾經有過這樣的經歷,要將一個超大的類按照功能進行模塊化拆分,設計好了架構及每個子模塊就讓組員進行開發。開發完了我看代碼時登時就抓狂了,模塊是拆分了,每個功能也都建立好了子類,并通過主類調用子類,但是每個子類又都將主類作為友元,又去調用主類里面的成員變量和函數。這種代碼,再次重構也是難免的,這個給我的經驗教訓就是,重構的工作一定要做細,迭代中的代碼檢查也是必不可少的。

良好的習慣,從最初做起

當然,重構再怎么樣,也是一種推翻重做,耽誤時間的做法。從我的經驗來看,其實大多數的重構都是可以避免的,這需要從以下幾個方面去提高。

良好的編碼風格,好的習慣往往很難是天然形成的,更多是在工作中不斷的老帶新中耳濡目染練出來的。很多領導希望員工全部時間都用來做項目,不斷地去壓更多的活,實際上是在用跑短跑的方式跑長跑,很容易出現后勁不足的情況。而我在微軟的經歷,也讓自己感受到了從潮手到逐漸成熟的過程,后來在搜狗時即使再忙沒法搞team review,我也會去盡量給每個組員檢查他們的代碼,幫助別人去提高。

初期的架構設計,這個也是非常重要的。架構設計能不能一次到位,這個不太好說。但是相信好的架構,一定比粗糙的設計能夠堅持更長得多的時間。并且好架構可以考慮到未來可能擴充的規模和功能,為未來的發展留好接口。同時在其中所有的模塊都非常有序,即使大的框架要修改的話,也只是搭一個架子,原有的子功能和子模塊都能夠被很好的復用。

其實很多時候,代碼并非要開發一陣就重構一次,而寫出好的架構,也并非是那么難。更重要的是,需要的是不斷的提高程序員的自我修養,不僅僅是能力上的,還有態度上的。不要只想最初開發時省事,而不考慮若干時間后的事情。好的架構,對未來的開發以及發展,可以說是真真實實的“事半功倍”。

最后,我們看一個關于扁鵲的故事:

魏文王曾求教于名醫扁鵲:“你們家兄弟三人,都精于醫術,誰是醫術最好的呢?”扁鵲:“大哥最好,二哥差些,我是三人中最差的一個。”  魏王不解地說:“請你介紹的詳細些。”

扁鵲解釋說:“大哥治病,是在病情發作之前,那時候病人自己還不覺得有病,但大哥就下藥鏟除了病根,使他的醫術難以被人認可,所以沒有名氣,只是在我們家中被推崇備至。我的二哥治病,是在病初起之時,癥狀尚不十分明顯,病人也沒有覺得痛苦,二哥就能藥到病除,使鄉里人都認為二哥只是治小病很靈。我治病,都是在病情十分嚴重之時,病人痛苦萬分,病人家屬心急如焚。此時,他們看到我在經脈上穿刺,用針放血,或在患處敷以毒藥以毒攻毒,或動大手術直指病灶,使重病人病情得到緩解或很快治愈,所以我名聞天下。”

扁鵲實際上就是一個很好的重構高手,但是扁鵲的大哥,就是因為能夠將問題看在前面,處理在前面,所以能夠永葆健康,這更是高手中的高手!

原文鏈接:http://blog.sina.com.cn/s/blog_6592c40501018e9y.html

責任編輯:張偉 來源: 新浪博客
相關推薦

2013-08-26 20:01:26

XTools信息化管理

2022-03-01 17:26:35

華為數字化

2014-10-28 14:23:11

微昂

2020-02-26 08:16:32

AIoT人工智能物聯網

2013-05-15 15:05:53

2012-12-21 12:37:24

2012-05-15 01:16:19

開發重構Java

2019-06-29 14:40:10

能源物聯網IOT

2010-07-06 16:19:02

協議封裝

2010-06-21 15:06:45

AMF協議

2017-02-20 17:41:12

SDN網絡

2021-08-03 08:13:48

重構API代碼

2015-07-14 10:58:02

SDNNFVNV

2018-02-07 15:25:41

2010-07-08 13:23:14

SAN路由協議

2010-07-08 14:25:12

HART協議

2010-03-01 17:25:12

Python 測試框架

2015-09-15 09:20:22

Neutron技術虛擬化
點贊
收藏

51CTO技術棧公眾號

欧美亚洲国产一区在线观看网站 | 精品九九九九| 精品亚洲永久免费| 久草在线成人| 欧美军同video69gay| 国产一线二线三线女| 韩国中文免费在线视频| 国产在线国偷精品产拍免费yy| 欧美成人自拍视频| 熟女少妇一区二区三区| 亚洲天堂网站| 欧美性少妇18aaaa视频| 免费观看黄色大片| 日本aaa在线观看| 国产精品影音先锋| 日本视频久久久| 毛片a片免费观看| 欧美日韩伦理| 亚洲精品国产美女| 中文字幕在线视频一区二区| 日韩pacopacomama| 亚洲在线观看免费视频| 亚洲欧洲精品一区二区| 三级做a全过程在线观看| 国产在线观看一区二区| 国产精品久久久久久中文字| 69av.com| 97精品一区二区| 青草av在线| 91网站在线观看视频| 2022国产精品| 久久久精品视频在线观看| 日韩欧美视频免费在线观看| av一区在线观看| 久久午夜免费电影| 粉嫩av一区二区三区免费观看| 中文字幕人妻一区二区在线视频 | 国产一区二区三区小说| 91caoporn在线| 久久久99精品久久| 久久99欧美| 人妻无码一区二区三区久久99| 久草中文综合在线| 国产精品普通话| av片免费观看| 亚洲欧美大片| 91禁国产网站| 色网站在线播放| 亚洲高清久久| 欧美激情久久久| 久久久久性色av无码一区二区| 91精品国产麻豆国产在线观看 | 北条麻妃在线观看视频| 日韩影院二区| 中文字幕日本欧美| 国产jizz18女人高潮| 国内成人精品| 中文字幕欧美专区| 黑人狂躁日本娇小| 亚欧美无遮挡hd高清在线视频| 少妇av一区二区三区| 国产又粗又猛又爽又黄的视频四季| 蜜臀久久99精品久久一区二区| 欧洲亚洲精品| 亚洲欧美一区二区三区国产精品| 一区二区三区日韩视频| av免费在线免费| 一区二区三区av电影| 日b视频免费观看| 99热99re6国产在线播放| 亚洲国产一区视频| 成 年 人 黄 色 大 片大 全| 美女扒开腿让男人桶爽久久软| 精品国产乱码久久久久久婷婷 | 国产成人免费视频一区| 99re6在线| 青青操视频在线| 国产婷婷精品av在线| 亚洲人成网站在线播放2019| 成人免费在线| 黄色成人在线播放| 亚洲成色www.777999| 国产精品美女久久久久人| 精品欧美黑人一区二区三区| 日韩乱码人妻无码中文字幕久久| 人人狠狠综合久久亚洲婷婷| 九九精品在线视频| 欧美bbbbbbbbbbbb精品| 日韩精品一级中文字幕精品视频免费观看| 国产综合久久久久久| 亚洲精品18p| 久久久久9999亚洲精品| 色乱码一区二区三区熟女| 福利小视频在线| 在线看不卡av| 国产精品91av| 精品高清在线| 蜜桃av一区二区| 欧美色图免费看| 超碰在线播放91| 无码国模国产在线观看| 日韩成人高清在线| a一级免费视频| 亚洲视频www| 成人黄色av播放免费| 空姐吹箫视频大全| 国产精品情趣视频| 热99这里只有精品| 四虎影视精品永久在线观看| 亚洲第一中文字幕在线观看| 性生交大片免费全黄| wwwwxxxx日韩| 深夜av在线| 欧美丰满高潮xxxx喷水动漫| 久久人人爽人人人人片| 中文视频一区| 国产精品久久久久久av福利| 日韩一卡二卡在线| 亚洲人成伊人成综合网小说| 在线一区二区三区四区五区 | 欧美日韩国产一区二区三区地区| 成人做爰www看视频软件| 欧美天天综合| 欧美一级黄色网| 精品国产无码一区二区| 欧美激情一区二区三区全黄| 青青青国产在线观看| 日韩欧美高清一区二区三区| 视频直播国产精品| 日韩精品久久久久久免费| 大胆亚洲人体视频| 三上悠亚免费在线观看| 欧美综合影院| 日韩在线观看网址| 中文字幕av资源| 国产午夜亚洲精品羞羞网站| 国产精品专区在线| 777久久精品| 久久国产加勒比精品无码| 中文字幕乱码在线观看| 久久精品人人做人人爽97| 啊啊啊一区二区| 日韩精品社区| 欧美亚洲国产视频| 欧洲视频在线免费观看| 无码av免费一区二区三区试看| 免费不卡的av| 最新国产乱人伦偷精品免费网站| 国产精品日韩高清| 免费在线国产视频| 亚洲精品在线三区| 日本熟妇毛耸耸xxxxxx| 成人激情午夜影院| 僵尸世界大战2 在线播放| 9999久久久久| 国内外成人免费激情在线视频网站 | 无遮挡亚洲一区| 成人精品高清在线视频| 中文字幕日韩专区| 亚洲综合五月天婷婷丁香| 亚洲欧美在线视频| 一级 黄 色 片一| 欧美伊人影院| 国产一区二区高清视频| 手机av在线| 亚洲无限av看| 国产尤物视频在线观看| 亚洲激情图片小说视频| 美女黄色一级视频| 亚洲免费网站| 亚洲午夜精品一区二区| 国产日韩欧美中文在线| 亚洲成色777777在线观看影院| 91日韩中文字幕| 国产ts人妖一区二区| wwwwww欧美| 亚洲视频分类| 成人国产精品日本在线| 欧美24videosex性欧美| 亚洲国语精品自产拍在线观看| 国产在线天堂www网在线观看| 成人欧美一区二区三区白人| 最新国产黄色网址| 一区二区三区在线| 国产精品二区在线观看| 白浆在线视频| 中文字幕av一区二区| 99在线观看免费| 午夜精品久久久久久久| 日韩美女中文字幕| 免费黄网站在线观看| 欧美偷拍一区二区| 九九久久免费视频| 久久久高清一区二区三区| 777一区二区| 亚洲国产二区| 婷婷亚洲婷婷综合色香五月| 国内不卡的一区二区三区中文字幕 | 女人丝袜激情亚洲| 国产精品视频精品| 久久大胆人体| 在线亚洲国产精品网| 空姐吹箫视频大全| 欧美色图片你懂的| 国产精品久久久免费视频| 国产精品污网站| 亚洲国产综合视频| 国产美女娇喘av呻吟久久| 中文字幕日本最新乱码视频| 亚洲破处大片| 日日夜夜精品网站| 久久久久97| 亚洲在线观看视频| 精品视频在线一区二区在线| 欧美精品成人在线| 韩国av网站在线| 亚洲网址你懂得| 亚洲aaaaaaa| 日韩精品一区在线| 一级视频在线播放| 一本一道综合狠狠老| 色老板免费视频| 欧美国产成人精品| 粉嫩av蜜桃av蜜臀av| 成人午夜看片网址| 亚洲在线观看网站| 男男成人高潮片免费网站| 亚洲色欲综合一区二区三区| 亚洲大胆在线| 隔壁人妻偷人bd中字| 亚洲高清影视| 婷婷视频在线播放| 久久蜜桃av| 亚洲欧美日韩不卡一区二区三区| 精品国产91| 日韩精品极品视频在线观看免费| 西野翔中文久久精品字幕| 成人免费看片网址| 日韩精品中文字幕一区二区| 91在线在线观看| 亚洲经典视频| yellow视频在线观看一区二区| 综合久久av| 91欧美激情另类亚洲| 亚洲欧美在线人成swag| 成人av电影天堂| 欧美日韩视频免费看| 国产日韩av在线| 台湾天天综合人成在线| 91亚洲精品一区| 日韩在线观看一区二区三区| 5566av亚洲| 国产精品调教视频| 国产视频一区二区不卡| 久久九九热re6这里有精品| 精品国产第一页| 最近国产精品视频| 日本不卡一区二区三区视频| 日韩大胆视频| 亚洲精品综合精品自拍| 免费在线视频你懂得| 亚洲色图13p| 四虎久久免费| 欧美成人亚洲成人日韩成人| 里番在线播放| 2019亚洲男人天堂| 韩国精品主播一区二区在线观看| 国产精品久久久久久久久果冻传媒| 制服丝袜在线第一页| 99久久精品99国产精品| 我和岳m愉情xxxⅹ视频| 国产精品午夜电影| 欧美黄片一区二区三区| 亚洲18色成人| 亚洲 日本 欧美 中文幕| 欧美午夜一区二区三区| 国产丰满美女做爰| 亚洲国产精品嫩草影院久久| 久香视频在线观看| www.亚洲一区| free性护士videos欧美| 国产成人拍精品视频午夜网站| 国产激情一区| 韩国成人av| 日韩国产一区| 日韩欧美精品免费| 日韩二区三区四区| 国产老头和老头xxxx×| 26uuu国产一区二区三区 | 久久久91精品国产一区二区三区| 欧美特黄一级片| 亚洲成人av中文| 又骚又黄的视频| 欧美videossexotv100| 免费在线黄色电影| 欧美xxxx做受欧美| 向日葵视频成人app网址| 99久久久精品免费观看国产| 精品九九在线| 人妻无码一区二区三区四区| 日韩avvvv在线播放| 极品白嫩的小少妇| 国产精品乱码妇女bbbb| 欧美videossex极品| 欧美军同video69gay| 经典三级在线| 国内免费久久久久久久久久久| 2019中文亚洲字幕| 美女一区视频| 午夜国产精品视频| 超碰在线97免费| 91网址在线看| 久久伊人成人网| 久久国产电影| 免费观看中文字幕| 美女网站久久| 2一3sex性hd| 亚洲美女免费在线| 亚洲图片在线播放| 亚洲欧美另类中文字幕| 91九色国产在线播放| 91在线免费看网站| 久久看人人摘| 在线观看的毛片| 久久久久青草大香线综合精品| 国产精品第108页| 日韩片之四级片| 黄色av免费在线| 国产免费一区视频观看免费| 欧美日韩中文字幕一区二区三区| 人妻熟妇乱又伦精品视频| 国产91精品一区二区麻豆亚洲| 日本妇女毛茸茸| 制服丝袜亚洲色图| 毛片在线不卡| 国产在线高清精品| 日韩精品水蜜桃| 亚洲欧美国产中文| 中文字幕第一区二区| 国产男人搡女人免费视频| 亚洲欧美日韩国产中文| 人狥杂交一区欧美二区| 久久久久久九九| 国产精品嫩草99av在线| 成人无码www在线看免费| 天天影视网天天综合色在线播放| 欧美熟妇乱码在线一区| 久久久亚洲天堂| 国产精品中文字幕制服诱惑| 欧美中日韩在线| caoporm超碰国产精品| 日本亚洲色大成网站www久久| 亚洲精品成人久久电影| 亚洲啊v在线| 欧洲在线视频一区| 日本不卡一区二区| 亚洲人与黑人屁股眼交| 制服丝袜av成人在线看| 亚洲羞羞网站| 国产亚洲精品久久飘花| 麻豆久久精品| 亚洲色图日韩精品| 欧美精品 国产精品| 男男成人高潮片免费网站| 国产成人三级视频| 韩国一区二区三区| 免费人成年激情视频在线观看| 欧美成人精品高清在线播放| 超碰资源在线| 久久99精品国产一区二区三区| 久久福利一区| 91禁男男在线观看| 日韩亚洲欧美在线| 国产v日韩v欧美v| 视频一区亚洲 | 成人午夜免费在线观看| 亚洲精品福利在线| 性欧美videohd高精| 亚洲电影一二三区| 国内精品久久久久影院薰衣草| 九九热精品免费视频| 亚洲精品久久久久国产| 成人做爰视频www| 欧美xxxx吸乳| 26uuu国产日韩综合| 一道本无吗一区| 久久免费成人精品视频| 狠狠色狠狠色综合婷婷tag| 久久久久久这里只有精品| 成人av综合网| 在线视频日韩一区| 一区二区在线观看视频| 日中文字幕在线| 91美女片黄在线观看游戏| 亚洲乱码视频| 99热这里只有精品4| 亚洲精品在线看| 亚洲超碰在线观看| 九一精品在线观看| 亚洲国产成人porn|