<code class="language-text">if (A)
$var = xxx
else
$var = ooo
↓
$var = A ? xxx : ooo
</code>
多了解一下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,哈哈