當前位置:首頁 > 科普知識 > 重構 > 列表
重構 共有 85 個詞條內容

6.2 魔法數(shù)

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

重構

6.3 重復性代碼

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

重構

6.4 接口不同的相似類

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

重構

6.5 實戰(zhàn)練習

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

重構

7.1 所涉及的壞味道

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

重構

7.2 Null檢查

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

重構

7.3 復雜的布爾表達式

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

重構

7.4 特殊用例

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

重構

7.5 模擬繼承 (Switch語句)

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

重構

中場休息I3.1 模式

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

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