前言 不出意外,這應該是年前最后一次分享,本次來一點實際開發中會用到的小技巧。 比如平時大家是否都會寫類似這樣的代碼: 條件少還好,一旦 else if 過多這里的邏輯將會比較混亂,並很容易出錯。 比如這樣: 摘自 cim 中的一個客戶端命令的判斷條件。 剛開始條件 ...
前言 利用利用策略模式實際開發中if else 條件判斷過多的問題 比如平時大家是否都會寫類似這樣的代碼: 條件少還好,一旦else if過多這里的邏輯將會比較混亂,並很容易出錯。 比如這樣: 摘自cim中的一個客戶端命令的判斷條件。 剛開始條件較少,也就沒管那么多直接寫的 現在功能多了導致每次新增一個else條件都得仔細核對,生怕影響之前的邏輯。 重構之后這里的結構如下: 最后直接變為兩行代碼, ...
2019-03-26 23:19 0 5826 推薦指數:
前言 不出意外,這應該是年前最后一次分享,本次來一點實際開發中會用到的小技巧。 比如平時大家是否都會寫類似這樣的代碼: 條件少還好,一旦 else if 過多這里的邏輯將會比較混亂,並很容易出錯。 比如這樣: 摘自 cim 中的一個客戶端命令的判斷條件。 剛開始條件 ...
最近在工作中優化了一段冗余的if else代碼塊,感覺對設計模式的理解和運用很有幫助,所以分享出來。鑒於原代碼會涉及到公司的隱私,因此就不貼出來了。下面以更加通俗易懂的案例來解析。 假如寫一個針對員工上班不遵守制度做相應懲罰的程序,比如,上班遲到:罰100;上班睡覺:罰1000;上班早退:警告 ...
http://www.cnblogs.com/pfblog/p/7815238.html 最近在工作中優化了一段冗余的if else代碼塊,感覺對設計模式的理解和運用很有幫助,所以分享出來。鑒於原代碼會涉及到公司的隱私,因此就不貼出來了。下面以更加通俗易懂的案例來解析。 假如寫一個針對 ...
多個if-else代碼: 上面只統計了3個學習時間,如果我們要寫其他的學習時間就需要繼續添加if-else,如果業務很復雜,那么這個代碼看起來會很亂,不方便維護; 下面用策略模式和工廠模式優化該if-else; 1. 定義抽象策略角色(接口) 2. ...
將判斷及處理定義為一個策略對象,key為判斷條件,值為函數,可帶參。 ...
針對代碼中,過多的 if ... else ..,如何優化減少if else呢?(非常重要的優化技巧) 缺點:過多的if else 導致閱讀不方便,邏輯過於復雜,代碼多長。 解決方法:可以采用多個方法,分清步驟和各種情況邏輯作為一個方法,將其中的if..else..分開 ...
策略模式解決if - else 的代碼 業務場景: 外包企業的審批人需要審批打卡的場景; 審批人分為多種不同的級別,多種級別中具有方式相同但是內容不同的操作:審批。 原來場景: 有前端傳來審批人參數,使用if-else 來判斷該審批人的級別屬於哪一個級別,執行相應的審批方法 ...
前言: 最近因為工作中業務需要,代碼里用了大量的if else嵌套。想着如何優化,剛好在網上看到一篇文章,個人覺得寫的還不錯。這邊轉載過來以后后續學習。根據個人理解和需要,自己做了一點修改整理。 作者:leowudev 原文:http://www.apkbus.com ...