PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之四 簡(jiǎn)化條件表達(dá)式
點(diǎn)擊下圖,查看大圖。









條件語(yǔ)句的“合并理由”也同時(shí)指出了“不要合并”的理由:如果你認(rèn)為你的這些檢查的確彼此獨(dú)立,的確不應(yīng)該被視為同一次檢查,那么就不要使用本項(xiàng)重構(gòu)。因?yàn)樵谶@種情況下,你的代碼已經(jīng)清楚表達(dá)出自己的意義。












條件式的兩種形式:


此代碼的壞味道:
1、它太長(zhǎng),當(dāng)視頻有新類(lèi)型的時(shí)候,它會(huì)變得更長(zhǎng)。
2、它明顯做了不止一件事。
3、它違反了單一權(quán)責(zé)原則,因?yàn)樗泻脦讉€(gè)修改它的理由。
4、它違反了開(kāi)放閉合原則,因?yàn)槊慨?dāng)添加新類(lèi)型時(shí),必須修改它。不過(guò)最麻煩的可能是到處皆有類(lèi)似結(jié)構(gòu)(_get類(lèi)型名Rank())的函數(shù)。




運(yùn)行結(jié)果:



運(yùn)行結(jié)果:


- 五款PHP代碼重構(gòu)工具推薦
- PHP代碼維護(hù),重構(gòu)變困難的4種原因分析
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之五 簡(jiǎn)化函數(shù)調(diào)用
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之三 重新組織數(shù)據(jù)
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之二 對(duì)象之間搬移特性
- PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計(jì)》之一 重新組織你的函數(shù)
- rephactor 優(yōu)秀的PHP的重構(gòu)工具
- PHP代碼重構(gòu)方法漫談
相關(guān)文章
PHP 請(qǐng)求上下文相關(guān)總結(jié)
這篇文章主要介紹了PHP 請(qǐng)求上下文的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下2021-04-04
PHP怎么實(shí)現(xiàn)網(wǎng)站保存快捷方式方便用戶(hù)隨時(shí)瀏覽
網(wǎng)站保存快捷方式以后在瀏覽起來(lái)就比較方便了,實(shí)現(xiàn)的方法有很多,下面為大家詳細(xì)介紹下使用PHP實(shí)現(xiàn)網(wǎng)站快捷方式的保存,有此需求的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08
php中的標(biāo)量數(shù)據(jù)類(lèi)型總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于php中的標(biāo)量數(shù)據(jù)類(lèi)型總結(jié)內(nèi)容,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。2022-01-01
PHP中使用asort進(jìn)行中文排序失效的問(wèn)題處理
asort() 函數(shù)對(duì)數(shù)組進(jìn)行排序并保持索引關(guān)系。主要用于對(duì)那些單元順序很重要的結(jié)合數(shù)組進(jìn)行排序。可選的第二個(gè)參數(shù)包含了附加的排序標(biāo)識(shí)。如果成功則返回 TRUE,否則返回 FALSE。2014-08-08
解析php利用正則表達(dá)式解決采集內(nèi)容排版的問(wèn)題
本篇文章是對(duì)php利用正則表達(dá)式解決采集內(nèi)容排版問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
linux平臺(tái)編譯安裝PHP7并安裝Redis擴(kuò)展與Swoole擴(kuò)展實(shí)例教程
這篇文章主要介紹了linux平臺(tái)編譯安裝PHP7并安裝Redis擴(kuò)展與Swoole擴(kuò)展的方法,結(jié)合實(shí)例形式詳細(xì)分析了Linux平臺(tái)上安裝php7并安裝Redis擴(kuò)展與Swoole擴(kuò)展的具體步驟與操作技巧,需要的朋友可以參考下2016-09-09
JSON字符串傳到后臺(tái)PHP處理問(wèn)題的解決方法
這篇文章主要介紹了JSON字符串傳到后臺(tái)PHP處理問(wèn)題的解決方法,需要的朋友可以參考下2016-06-06


