新聞中心
有位名人說過,程序都有兩面性,一是程序今天可以做什么,二是程序明天可以做什么。通常,我們只關(guān)心,準確地說,是老板只關(guān)心,程序今天能做什么。雖然老板口頭上天天喊著關(guān)心程序員成長,程序質(zhì)量最重要,但實際上還是進度最重要。

公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出望謨免費做網(wǎng)站回饋大家。
什么是重構(gòu)
什么是重構(gòu)呢?重構(gòu)是對軟件內(nèi)部的結(jié)構(gòu)性調(diào)整,在保持原有的功能的前提下,提高程序的可理解性,降低修改的成本,提升程序的運行性能。
讓代碼更容易理解
我們的程序,無論多么優(yōu)秀的設(shè)計,往往隨著我們不停的維護,代碼總會變爛,特別是代碼往往是不同人的維護,每個人的代碼習慣,對業(yè)務(wù)的認識,對系統(tǒng)的理解都不一樣,最重要的是,開發(fā)時間太趕了,導致代碼越來越難以理解。
代碼越多,就越來越難以理解,一個邏輯,可能散落在系統(tǒng)各個地方,我們常常把線上代碼必成盜墓機關(guān),稍有不慎,就會帶來Bug。這是次要,為什么我們總在加班,因為很簡單的功能,本來預估2個小時,后來寫著寫著才發(fā)現(xiàn)還要花18個小時來兼容其他邏輯問題。
發(fā)現(xiàn)原有的Bug
偉大的程序員,不是天生的。每一個程序員都會犯錯誤,也會留下埋得很深的Bug。重構(gòu),需要我們?nèi)ド钊胧崂順I(yè)務(wù),深入了解每一行代碼,對每一個代碼中的“機關(guān)”做出假設(shè),***總能發(fā)現(xiàn)意想不到的Bug。
提高程序的運行速度與編譯速度
我們的代碼中,常常有一些爛代碼,最常見的情況莫過于幾個一些重復的函數(shù),無關(guān)緊要的類,無關(guān)緊要的邏輯。舉個簡單的例子,我們寫一個電商計算運費系統(tǒng),去數(shù)據(jù)庫里面查詢了用戶的地址,快遞公司的信息,用戶有沒有相關(guān)卡券,***卻發(fā)現(xiàn)用戶買的商品是虛擬產(chǎn)品,壓根就不需要去計算運費!
架構(gòu)師都是從重構(gòu)開始的
這個其實才是最重要的,每一個架構(gòu)師,都是從重構(gòu)系統(tǒng)開始的!如果一個架構(gòu)師沒有重構(gòu)過一個系統(tǒng),那只能說他夸夸其談,紙上談兵。重構(gòu),對一個程序員的成長有多大?
- 對業(yè)務(wù)的代碼非常熟悉,很快就能成長為骨干
- 重構(gòu)的時候適合使用新技術(shù),新框架,更有利于你的成長。
- 重構(gòu),又稱高速上換輪胎,如何保證系統(tǒng)的穩(wěn)定,是考驗你真正實力的時候
- 重構(gòu)的結(jié)果,必定會讓你的上級對你刮目相看。
- 即便是重構(gòu)出問題,損失的更多的還是老板,對于程序員,最多也只是丟掉飯碗。當然,出于職業(yè)道德,我們當然不能故意搞出問題。
何時開始重構(gòu),需要注意什么
重構(gòu),一般都在比較大的需求變更的時候,當然,我們要選擇在時間比較富余,公司有其他資源支持的情況下。重構(gòu)的時候,我們當然要先深入理解業(yè)務(wù),知會相應的測試,自己編寫測試用例。當然,我們能引入自動化測試那就更好了。如果經(jīng)理支持,那是***的情況,當然我一般都是先斬后奏,把需求做好的基礎(chǔ)上,進行小規(guī)模的重構(gòu),完成后才向老板進行匯報。(這種還是要看老板而異,哈哈,只能說我運氣好,遇到的老板都支持我折騰)
總結(jié)
重構(gòu),很多人很討厭,大家都喜歡堆代碼,追求完成功能。但其實,重構(gòu)是對一個程序員***的成長機會,是讓你成為架構(gòu)師***的墊腳石,希望大家能夠好好珍惜這個機會,學好相關(guān)的重構(gòu)技巧,大膽嘗試!
網(wǎng)站名稱:想從程序員變成架構(gòu)師?看100篇架構(gòu)設(shè)計的文章,不如干1次這個
本文鏈接:http://m.5511xx.com/article/djjogsd.html


咨詢
建站咨詢
