乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      《重構(gòu):改善既有代碼的設(shè)計(jì)》 讀書筆記 第三章

       印度阿三17 2020-01-14

      第三章 代碼的壞味道

      3.1 神秘命名

      命名是編程中很難的事情,所以最常用的重構(gòu)手段就是去改個(gè)名字。

      如果你發(fā)現(xiàn)改名很難,那就說明代碼設(shè)計(jì)有問題。

      3.2 重復(fù)代碼

      同一類的兩個(gè)函數(shù)含有相同的表達(dá)式,就應(yīng)該提煉。

      3.3 過長函數(shù)

      活得最長,最好的函數(shù),一般都很短。

      如果你覺得需要寫注釋,大部分情況就代表這個(gè)東西需要寫進(jìn)一個(gè)獨(dú)立的函數(shù)里面,然后根據(jù)用途來命名比較好。

      3.4 過長的參數(shù)列表

      將幾個(gè)函數(shù)共用的參數(shù)抽象成類,然后再調(diào)用類。

      3.5 全局?jǐn)?shù)據(jù)

      全局?jǐn)?shù)據(jù)的問題是,全局?jǐn)?shù)據(jù)在任何地方都可以被修改。

      所以正確的做法是將全局?jǐn)?shù)據(jù)封裝起來,用函數(shù)將其包起來,這樣就知道那些地方修改了它。

      3.6 可變數(shù)據(jù)

      核心是縮小作用域。

      3.7 發(fā)散式變化

      如果這個(gè)模塊,加不同原因的需求的時(shí)候,修改的模塊都不相同的話,你需要考慮是否要分離出來。比如說你加入redis需要改3個(gè)地方,加入mysql需要改4個(gè)地方,你就應(yīng)該抽離出來。

      3.8 霰彈式修改

      在每次修改的時(shí)候,應(yīng)該只修改一處,而不是到處的修改。如果你說你要加入一個(gè)數(shù)據(jù)庫,需要修改3個(gè)函數(shù),那么這就需要思考,你是否應(yīng)該抽離出來。

      3.9 依戀情結(jié)

      模塊化,力求代碼分出區(qū)域,最大化區(qū)域內(nèi)部交互,最小化區(qū)域間交互。

      如果兩個(gè)模塊交互頻繁,你應(yīng)該合并在一起。

      3.10 數(shù)據(jù)泥團(tuán)

      如果在多個(gè)類中,出現(xiàn)了很多相同項(xiàng)的數(shù)據(jù),你需要想想是否要抽離出來一個(gè)對(duì)象。

      3.11 基本類型偏執(zhí)

      我們應(yīng)該創(chuàng)建對(duì)象,而不是用一個(gè)字符串來寫任何東西。

      比如有程序員用字符串來表示電話號(hào)碼,實(shí)際上你應(yīng)該抽象出來一個(gè)電話號(hào)碼對(duì)象。

      3.12 重復(fù)的switch

      switch這個(gè)東西就不應(yīng)該存在。

      3.13 循環(huán)語句

      我們應(yīng)該用管道操作來替代循環(huán),這樣能更看清被處理的元素和處理他們的動(dòng)作。

      3.14 冗贅的元素

      能簡單的代碼,盡量簡單。未來變復(fù)雜的時(shí)候,再去考慮它。

      3.15 夸夸其談通用型

      同上。

      3.16 臨時(shí)字段

      臨時(shí)的字段不應(yīng)該存在。

      3.17 過長的消息鏈

      如果關(guān)系過長,你最好提煉函數(shù)。

      ...... (省略其中的很多點(diǎn))

      3.24 注釋

      注釋是提示你,這個(gè)地方該重構(gòu)啦。

      如果你覺得需要寫注釋的時(shí)候,請(qǐng)先重構(gòu),試著讓所有注釋都變得多余。

      來源:https://www./content-4-614201.html

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多