【问题标题】:Best way to reorder code execution based on condition根据条件重新排序代码执行的最佳方法
【发布时间】:2019-04-03 03:08:37
【问题描述】:

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

方法一:

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

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

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

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

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

【问题讨论】:

  • 没有更多关于代码做什么的信息,谁能说。最好将条件烘焙到函数中,因为它太抽象而无法真正了解。
  • 代码做什么并不重要,这里唯一需要注意的是,每个块中的所有语句都是作为一个单元执行的,并且以相同的顺序执行。

标签: php architecture


【解决方案1】:

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

理想情况下,您的函数应该很小,少于 10 行代码,并且永远不会超过一页。现在,PHP 在处理函数方面做得相当差,并且执行函数调用的开销不为零(15% 左右),但是您很少使用 PHP 编写 CPU 密集型应用程序(如果您是,请不要,这是工作的错误工具)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 2013-05-14
    • 2017-11-04
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多