當(dāng)前位置:首頁 > 科普知識(shí) > 重構(gòu) > 列表
重構(gòu) 共有 85 個(gè)詞條內(nèi)容

6.2 魔法數(shù)

    癥狀●代碼體中出現(xiàn)了常量(除了空串;還包括0、1,可能還有2;還有其他一些基本情況)。原因有人可能需要某個(gè)值,因此就將這樣一個(gè)值置于代碼中。就其本身而言,也許這并不算很糟糕,但是通常還存在另外一些由該值派生或依賴于它的...[繼續(xù)閱讀]

重構(gòu)

6.3 重復(fù)性代碼

    癥狀●容易形式(easyform):兩個(gè)代碼段看上去幾乎相同。●困難形式(hardform):兩個(gè)代碼段都擁有幾乎相同的作用(無論在哪個(gè)概念層次上)。原因由于程序員們通常獨(dú)立地開發(fā)系統(tǒng)的不同部分,因此就會(huì)出現(xiàn)一些重復(fù),而他們并沒有意識(shí)到會(huì)...[繼續(xù)閱讀]

重構(gòu)

6.4 接口不同的相似類

    癥狀●兩個(gè)類看上去完成同樣的工作,但卻使用了不同的方法名。原因人們會(huì)創(chuàng)建類似的代碼來處理類似的情況,而未曾意識(shí)到還存在著與之類似的代碼。采取的措施協(xié)調(diào)各個(gè)類,使之取得一致,從而可以去除其中某個(gè)類。1.采用重命名...[繼續(xù)閱讀]

重構(gòu)

6.5 實(shí)戰(zhàn)練習(xí)

    習(xí)題13兩個(gè)庫(kù)(有難度)。集成由不同來源得到的兩個(gè)模塊。每個(gè)模塊有其自己的日志記錄方法。系統(tǒng)A:packagecom.fubar.log;publicfinalclassLog{publicintINFO=1,WARN=2,ERROR=3,FATAL=4;publicstaticvoidsetLog(Filef){…}publicstaticvoidlog(intlevel,Stringmsg){…}}代碼中出...[繼續(xù)閱讀]

重構(gòu)

7.1 所涉及的壞味道

    ●Null檢查(NullCheck)●復(fù)雜的布爾表達(dá)式(ComplicatedBooleanExpression)●特殊用例(SpecialCase)●模擬繼承(Switch語句)[SimulatedInheritance(SwitchStatement)]...[繼續(xù)閱讀]

重構(gòu)

7.2 Null檢查

    癥狀●如下代碼反復(fù)出現(xiàn):if(xxx==null)...原因有人認(rèn)為:“可以將null用作為默認(rèn)值”?;谶@種想法,可以避免初始化某些字段的麻煩,或者不必考慮創(chuàng)建某些對(duì)象,也有可能是對(duì)某種意料之外的情況所做出的應(yīng)對(duì)策略。引入null檢查是為了...[繼續(xù)閱讀]

重構(gòu)

7.3 復(fù)雜的布爾表達(dá)式

    癥狀●代碼中存在復(fù)雜的條件,其中涉及到and、or和not。原因代碼可能從一開始就很復(fù)雜,也可能在開發(fā)過程中加入了額外的條件。采取的措施●應(yīng)用DeMorgan法則:!(a&&b)=>(!a)||(!b)和!(a||b)=>(!a)&&(!b)你會(huì)發(fā)現(xiàn),如果將某些變量...[繼續(xù)閱讀]

重構(gòu)

7.4 特殊用例

    癥狀●復(fù)雜的if語句●在做工作之前檢查某些特定的值(尤其是與常量或枚舉變量進(jìn)行比較)原因有人認(rèn)為需要一種特殊用例。采取的措施●如果條件式取代了多態(tài),則采用將條件式替換為多態(tài)(ReplaceConditionalwithPolymorphism)。●如果if和...[繼續(xù)閱讀]

重構(gòu)

7.5 模擬繼承 (Switch語句)

    癥狀●代碼使用了一個(gè)switch語句(尤其是對(duì)一個(gè)類型字段)?!翊a在某一行上存在多個(gè)if語句(特別是對(duì)同一個(gè)值進(jìn)行比較時(shí))。●代碼使用了instanceof(或其等價(jià)形式)來確定所處理的是何種類型。原因之所以會(huì)出現(xiàn)這種壞味道,通常是由...[繼續(xù)閱讀]

重構(gòu)

中場(chǎng)休息I3.1 模式

    以下所列的是Gamma的《設(shè)計(jì)模式》中描述的一組設(shè)計(jì)模式。若要對(duì)這些模式加以發(fā)展,可以采用哪些重構(gòu)技術(shù)?創(chuàng)建型模式(CreationalPatterns)__抽象工廠模式(AbstractFactory)__生成器模式(Builder)__工廠方法模式(FactoryMethod)__原型模式(Prototype)_...[繼續(xù)閱讀]

重構(gòu)
科普知識(shí)
心理健康 優(yōu)生優(yōu)育 休閑旅游 健身美容 飲食健康 人與自然 地球家園 海洋技術(shù) 科海拾貝 科學(xué)之迷 科技前沿 科技史話 科幻未來 神話傳說 童話故事 致富指南 農(nóng)用物資 生物技術(shù) 畜牧獸醫(yī) 園林花卉 特產(chǎn)養(yǎng)殖 營(yíng)養(yǎng)早餐 減肥晚餐 晚餐食譜 營(yíng)養(yǎng)晚餐 減肥中餐 中餐文化 中餐菜譜 中餐營(yíng)養(yǎng) 健康早餐 減肥早餐 早餐食譜 晚餐禁忌 寶石鑒定 安全生產(chǎn) 安裝鉗工 鈑金技術(shù) 寶石觀察 焙烤工業(yè) 變性淀粉 插花技能 車工技術(shù) 道路工程 低壓電器 電氣工程 電氣設(shè)備 電網(wǎng)工程 電源技術(shù) 電站工程 淀粉科學(xué) 調(diào)味配方 發(fā)電節(jié)能 防水材料 飛機(jī)飛行 服裝生產(chǎn) 鋼鐵材料 工程建設(shè) 工業(yè)工程 公路工程 管道工程 罐頭工業(yè) 國(guó)際組織 國(guó)家電網(wǎng) 華北電網(wǎng) 火電工程 貨運(yùn)物流 機(jī)床設(shè)計(jì) 機(jī)電工程 機(jī)修鉗工 基本資料 家用電器 建設(shè)工程 節(jié)約用電 金銀技術(shù) 金屬材料 連續(xù)鑄鋼 輪機(jī)工程 奶牛養(yǎng)殖 農(nóng)村電工 配電技術(shù) 皮革工業(yè) 啤酒工業(yè) 蘋果產(chǎn)業(yè) 鉗工簡(jiǎn)明 青工車工 青年審美 肉類工業(yè) 入侵檢測(cè) 食品科學(xué) 世界修船 獸醫(yī)獸藥 水下工程 稅收制度 通信設(shè)備 統(tǒng)計(jì)公文 土木工程 維修電工 味精工業(yè) 文物鑒賞 物業(yè)電工 銑工計(jì)算 線損管理 鞋楦設(shè)計(jì) 煙草工業(yè) 鹽業(yè)產(chǎn)品 冶金產(chǎn)品 液壓技術(shù) 印刷科技 用電管理 油墨技術(shù) 軋鋼技術(shù) 粘接技術(shù) 照明設(shè)計(jì) 制漿造紙 土元養(yǎng)殖 兔場(chǎng)疾病 外國(guó)美術(shù)