哪个更好,只需调用此函数 3 次就可以了,或者将其放入循环中,以便在循环中调用 3 次,通过条件在每次迭代时替换值,我明白,我做了同样的事情,只是添加了更多条件,但是,什么更清晰、更易读、更识字?
选项 1 或 2?
public function setAgrClause($data)
{
//1 вариант
$classIsn = 198390;
$clauseIsn = 11110;
for ($i = 0; $i < 3; $i++) {
if ($i > 0) {
$classIsn = 5377;
$clauseIsn = 2999;
}
if ($i > 1) {
$classIsn = 471491;
$clauseIsn = 471481;
}
$this->kias->setAgrClause($this->userIsn, $data['agrISN'], $classIsn, $clauseIsn);
}
//2 вариант
$this->kias->setAgrClause($this->userIsn, $data['agrISN'], 198390, 11110);
$this->kias->setAgrClause($this->userIsn, $data['agrISN'], 5377, 2999);
$this->kias->setAgrClause($this->userIsn, $data['agrISN'], 471491, 471481);
return 1;
}
第一个选项通常是 something with something。明确试图在地球上拉猫头鹰。为什么这么混淆代码 - 一点都不清楚。
如果您对连续三次调用相同的方法但使用不同的参数感到恼火,并且想要漂亮地进行循环,那么使用带有数据的数组并基于以下内容进行循环更合乎逻辑它。
像这样的事情,例如,
下一个重构步骤可能是当此数组未在方法中定义,而是作为参数传递时。那些。该方法本身变得独立于各种魔法常量。好吧,那么就有空间来扩展系统。也许那时您将从配置文件或数据库中获取这些参数。因此更改数字不会导致代码更改。