php 程式中各種if 判斷導致程式淩亂不堪,有沒有什麼好的解決方案?

來源:互聯網
上載者:User
由於來自需要方的壓力,需要在程式中加入各種if 判斷導致程式淩亂不堪,不知道有沒有一種科學的方式解決這一問題。

回複內容:

只答代碼技巧,不答模式架構,我覺得那沒有標準答案的,當然小技巧也要看具體使用的情境。

Go ternary
if (A)  $var = xxxelse  $var = ooo↓$var = A ? xxx : ooo
多瞭解一下OOP吧,原廠模式\策略模式\裝飾器模式.可以使用多態代替條件判斷,參考簡單工原廠模式或策略模式等設計模式的實現。
switch可以不像if-else那樣寫很多的判斷語句,但是還是不能夠滿足對修改封閉,對擴充開放的要求。估計是嵌套if導致淩亂?exception解決問題參考《重構:改善既有代碼的設計》第 9 章 - 簡化條件運算式
Replace Nested Conditional with Guard Claused(以衛語句取代嵌套條件運算式)可以多看看大型架構的寫法!!推薦zendframework用數組和閉包我認為一個良好的,閱讀性高的程式還是不要省略大括弧,也不要過多使用三目運算,更要少用 &&這種邏輯運算子來代替條件判斷。真要使if變得簡潔,我覺得應該少用 if後的else,多多給出傳回值,講下一個判斷放在另一個if塊裡,另外,就要學學設計模式,減少if語句欠套。//judge1

if(!expression){

//code

[return/break]}



//judge2

if(!expression){

//code

[return/break]}

......switch,哈哈
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.