根据条件重新排序代码执行的最佳方法

时间:2018-10-30 05:49:17

标签: php architecture

我有两个PHP代码块:BlockA和BlockB(一个块只是几行代码,通常为10行或更多)。根据情况,我可能需要在BlockB之前运行BlockA或在BlockA之前运行BlockB。到目前为止,我一直以两种方式进行此操作,但我想知道是否存在一些先进的技术来处理这种情况。

方法1:

if(some condition)
{
      BlockA;
      BlockB;
}
else
{
     BlockB;
     BlockA;
}

这很丑陋,因为我必须重复大约50行代码两次,并且任何更改都必须完成两次(想象一下,如果我要订购五个块)。

方法2: 为每个块创建一个函数。

if(some condition)
{
      BlockA();
      BlockB();
}
else
{
     BlockB();
     BlockA();
}

这解决了重复代码的问题,但是创建功能似乎有点奇怪,只是因为您想对一段代码重新排序。专业人士如何处理这种情况?如果要订购10个街区,情况可能会变得更加复杂。

1 个答案:

答案 0 :(得分:0)

专业人士绝对会创建功能。用单行代码制作一个函数并不少见。其思想是使您的代码更具可读性。值得一读Clean Code

理想情况下,您的函数应该小巧,少于10行代码,并且不超过一页。现在,PHP在处理函数方面做得相当差,并且进行函数调用的开销不为零(大约为15%),但是很少有人编写用PHP占用大量CPU资源的应用程序(如果您是,请不要这样做,这是该工作的错误工具)。