当前位置:Gxlcms > PHP教程 > php程序中各种if判断导致程序凌乱不堪,有没有什么好的解决方案?

php程序中各种if判断导致程序凌乱不堪,有没有什么好的解决方案?

时间:2021-07-01 10:21:17 帮助过:12人阅读

由于来自需要方的压力,需要在程序中加入各种if 判断导致程序凌乱不堪,不知道有没有一种科学的方式解决这一问题。

回复内容:

只答代码技巧,不答模式架构,我觉得那没有标准答案的,当然小技巧也要看具体使用的场景。

Go ternary
if (A)
  $var = xxx
else
  $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,哈哈

人气教程排行