<b>概念:</b>本文中的“封裝條件”是指條件關系比較複雜時,代碼的可讀性會比較差,是以這時我們應當根據條件表達式是否需要參數将條件表達 式提取成可讀性更好的屬性或者方法,如果條件表達式不需要參數則可以提取成屬性,如果條件表達式需要參數則可以提取成方法。
<b>正文:</b>如下代碼所示,PerformCoolFunction裡面的if條件判斷比較複雜,看起來有點雜亂,是以就把它提出來。
如下代碼所示,我們把條件表達式封裝成HasExtraFunctions屬性,這樣先前的條件判斷就成了if (HasExtraFunctions) ,是以這樣就在很大程度上提高了可讀性。
<b>總結:</b>這個重構在很大程度上能改善代碼的可讀性,尤其是在一個邏輯很複雜的應用中,把這些條件判斷封裝成一個有意義的名字,這樣很複 雜的邏輯也會立刻變得簡單起來。
本文轉自KnightsWarrior51CTO部落格,原文連結:http://blog.51cto.com/knightswarrior/342466 ,如需轉載請自行聯系原作者