Heim > Backend-Entwicklung > PHP-Tutorial > php 程序中各种if 判断导致程序凌乱不堪,有没有什么好的解决方案?

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

WBOY
Freigeben: 2016-06-06 16:42:47
Original
1324 Leute haben es durchsucht

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

回复内容:

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

Go ternary
<code class="language-text">if (A)
  $var = xxx
else
  $var = ooo
↓
$var = A ? xxx : ooo
</code>
Nach dem Login kopieren
多了解一下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,哈哈
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage