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

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

WBOY
WBOYasal
2016-06-06 16:42:471322semak imbas

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

回复内容:

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

Go ternary
<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,哈哈
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn