




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
代碼重構(gòu)的思考為什么要代碼重構(gòu)因?yàn)橐婚_(kāi)始我們不知道以后這個(gè)代碼會(huì)長(zhǎng)成什么樣子,所以要重構(gòu)滿足后面的發(fā)展代碼的結(jié)構(gòu)最原始的直線型ProcessA ProcessB代碼的結(jié)構(gòu)面向過(guò)程型ProcessA ProcessB提取出可重用的部分代碼的結(jié)構(gòu)面向?qū)ο笮虲lassA ClassBClassC將一類具有相同業(yè)務(wù)邏輯的包裝在一個(gè)Class中代碼的結(jié)構(gòu)分層次的面向?qū)ο笮透邔哟蔚腃lass依賴低層次的ClassLevel1Level2Level3代碼結(jié)構(gòu)需要重構(gòu)的代碼類實(shí)現(xiàn)異常龐大邏輯不清晰的類異常的依賴關(guān)系重復(fù)的代碼塊……代碼結(jié)構(gòu)重構(gòu)本質(zhì)是從更高視角對(duì)代碼結(jié)構(gòu)樹(shù)的迭代優(yōu)化重構(gòu)如何重構(gòu)首先滿足未來(lái)的發(fā)展方向整理出公共的代碼塊將大塊代碼精簡(jiǎn)成小塊將功能相同的代碼拆分到一個(gè)類中按照Level把類放到不同層次的包中重寫(xiě)看不懂的代碼,并生成說(shuō)明文檔注意事項(xiàng)注意編碼中的陷阱任何出乎意料的實(shí)現(xiàn)都可能成為陷阱在dataobject中特殊的修改值在不涉及業(yè)務(wù)的層次上修改業(yè)務(wù)參數(shù)與團(tuán)隊(duì)約定不一致的傳參與返回值……注意事項(xiàng)團(tuán)隊(duì)的編碼風(fēng)格命名類名與變量名要有具體意義詞匯表約定規(guī)范日志的時(shí)機(jī)拋出的異常返回值success代表的確切意義注意事項(xiàng)面向?qū)ο骎S性能面向?qū)ο缶幊虝?huì)增加10%-15%的性能開(kāi)銷更多的函數(shù)調(diào)用抽象方法如果創(chuàng)建某一個(gè)對(duì)象開(kāi)銷很大,那么考慮由外部傳入這個(gè)對(duì)象注意事項(xiàng)代碼美觀VS業(yè)務(wù)發(fā)展?jié)M足業(yè)務(wù)需求才是首要目的區(qū)分易變的業(yè)務(wù)與核心業(yè)務(wù)活動(dòng)代碼VS計(jì)分規(guī)則新維度的數(shù)據(jù)引入注意事項(xiàng)開(kāi)放接口能不開(kāi)放,盡量不要開(kāi)放接口,Client包中的類接口是否有足夠的擴(kuò)展性提供出去的接口返回對(duì)象是否和團(tuán)隊(duì)約定一致外部異常入?yún)?huì)不會(huì)造成臟數(shù)據(jù)如果業(yè)務(wù)升級(jí),能否快速升級(jí)甚至日志也將會(huì)成為開(kāi)放接口注意事項(xiàng)代碼組織個(gè)人建議按照代碼結(jié)構(gòu)樹(shù)將類放到各級(jí)包中代碼組織是一個(gè)迭代的過(guò)程接口與實(shí)現(xiàn)分離,降低修改帶來(lái)的影響注意事項(xiàng)機(jī)會(huì)VS風(fēng)險(xiǎn)機(jī)會(huì)更適合業(yè)務(wù)未來(lái)發(fā)展更加清晰的代碼結(jié)構(gòu)對(duì)系統(tǒng)更高的把握風(fēng)險(xiǎn)可能會(huì)更高的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年哈爾濱市道里區(qū)愛(ài)建社區(qū)衛(wèi)生服務(wù)中心招聘5人考前自測(cè)高頻考點(diǎn)模擬試題及完整答案詳解1套
- 2025吉林扶余市博物館選調(diào)解說(shuō)員4人考前自測(cè)高頻考點(diǎn)模擬試題附答案詳解
- 邢臺(tái)市中醫(yī)院醫(yī)務(wù)人員手衛(wèi)生與職業(yè)防護(hù)知識(shí)測(cè)試題
- 衡水市人民醫(yī)院醫(yī)聯(lián)體合作模式運(yùn)營(yíng)方案設(shè)計(jì)試題
- 2025北京大學(xué)地球與空間科學(xué)學(xué)院智慧能源和公共安全研究中心招聘科研助理1人模擬試卷及答案詳解(必刷)
- 2025福建福州東南汽車城投資發(fā)展集團(tuán)有限公司(第一次)招聘14人模擬試卷及答案詳解一套
- 衡水市中醫(yī)院治療計(jì)劃劑量學(xué)評(píng)估與優(yōu)化技巧試題
- 重慶市人民醫(yī)院遺傳性腎病咨詢與家系管理考核
- 邯鄲市人民醫(yī)院神經(jīng)內(nèi)科護(hù)士晉升主管護(hù)師重癥監(jiān)護(hù)考核
- 2025年哈爾濱新區(qū)第二十四幼兒園招聘5人模擬試卷及答案詳解(奪冠)
- 2025年輔警考試真題及答案
- 2025-2026學(xué)年統(tǒng)編版五年級(jí)上冊(cè)語(yǔ)文第二單元過(guò)關(guān)試卷附答案(三套)
- 2025年農(nóng)村土地租賃協(xié)議(合同樣本)
- 2025年固態(tài)變壓器(SST)行業(yè)研究報(bào)告及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)
- 2025年三力測(cè)試題試題及答案
- 電力系統(tǒng)課程設(shè)計(jì)華南理工大學(xué)
- 醫(yī)師麻醉資格考核表
- 演示文稿公共政策分析模型
- 學(xué)校健康食堂學(xué)生營(yíng)養(yǎng)餐帶量食譜
- 物業(yè)交接表格全模板
- 小學(xué)語(yǔ)文人教四年級(jí)上冊(cè)第四單元神話故事中的人物形象
評(píng)論
0/150
提交評(píng)論