gpt4 book ai didi

php - 哪个是方法参数的首选做法?

转载 作者:行者123 更新时间:2023-12-04 05:24:38 24 4
gpt4 key购买 nike

我对 PHP 中函数的方法参数格式(可以是任何语言)感到进退两难。以下是两位候选人
候选人 1:


function foo($param1,$param2,$param3,....$paramN)


候选人2:

function foo ($arr) {
$param1 = $arr['param1'];
$param2 = $arr['param2'];
$param3 = $arr['param1'];
...
...
...
$paramN = $arr['paramN'];
}

我目前倾向于候选人 2,因为我有几个方法有很多参数。但是,我也担心,如果我沿着 Candidate 2 的道路前进,那么我的代码就有变得不可读且不易维护的风险。虽然 Candidate 2 也很诱人,因为现在参数的顺序变得无关紧要(因此方法签名),但我担心调试会变得很痛苦。

那么推荐的方式是什么?选择哪个候选人,为什么?

最佳答案

很多参数都不好处理,我个人会选择候选 2,因为它更具可扩展性。您可以使用验证逻辑来​​补偿“困惑”,以确保正确设置所有必需的参数。

在我看来,最好的方法是重构您的代码并将方法拆分为几个可能可链接的部分,从而降低复杂性。

使用 Value Objects 也可能是一个不错的选择。 (或有时也是数据传输对象),以一种“容器”的形式传递所有参数。这样就保证了只能传递有效数据,因为值对象本身关心它的内容。

关于php - 哪个是方法参数的首选做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com