php - 根据条件重新排序代码执行的最佳方法
问题描述
我有两个 PHP 代码块:BlockA 和 BlockB(一个块只是几行代码,通常是 10 行或更多。)。根据情况,我可能需要在 BlockB 之前运行 BlockA 或在 BlockA 之前运行 BlockB。到目前为止,我一直在以两种方式进行操作,但我想知道是否有一些先进的技术来处理这种情况。
方法一:
if(some condition)
{
BlockA;
BlockB;
}
else
{
BlockB;
BlockA;
}
这非常难看,因为我必须重复大约 50 行代码两次,并且任何更改都必须进行两次(想象一下,如果我要订购五个块)。
方法2: 为每个块创建一个函数。
if(some condition)
{
BlockA();
BlockB();
}
else
{
BlockB();
BlockA();
}
这解决了重复代码的问题,但是仅仅因为你想重新排序一段代码而创建函数似乎有点奇怪。专业人士如何处理这种情况?如果要订购 10 个街区,情况可能会变得更加复杂。
解决方案
专业人士绝对创造功能。用一行代码制作一个函数并不少见。这个想法是它使您的代码更具可读性。非常值得一读Clean Code。
理想情况下,您的函数应该很小,少于 10 行代码,并且永远不会超过一页。现在,PHP 在处理函数方面做得相当差,并且执行函数调用的开销不为零(15% 左右),但是您很少使用 PHP 编写 CPU 密集型应用程序(如果您是,请不要,这是工作的错误工具)。
推荐阅读
- typescript - DynamoDB 客户端错误 - TypeError: n.transactWrite 不是函数\n
- c++ - 你能帮我解决显示矩阵的问题吗?
- android - Android Q - ubuntu16.04 上的 VTS 环境设置
- java - java中的SocketTimeOut异常,同时调用RestTemplate GetforObject
- vba - 使用 vba 从服务器存储和检索文件
- excel - 为什么这 2 个 smilar 宏中只有一个可以创建边框?
- pascal - 每当单击特定按钮时,它都会在 Pascal 中执行某些操作
- excel - 为什么在一个单元格的一部分中更改颜色或粗体不再起作用?
- r - 如何用R生成非常高维的空间相关随机场
- php - 在 WordPress 中从我的数据库中检索数据的问题