我正在尝试编辑开发公司编写的一段代码,该代码使用了以下构造:
$dbcol = grabdata($strSqlB,'','','','','','',2);
真的没有更简单的方法吗?代码完全不可读。
我原以为以下方法可行,并且可读性很好:
$vars = array("parameter1" => $strSqlB, "parameter7" => 2);
$dbcol = grabdata($vars);
是否有任何需要在函数本身中重构才能使其工作?我们还能做些什么聪明的事情来减少群集迷恋吗?
答案 0 :(得分:1)
你必须重构这部分:
function grabdata($parameter1, $parameter2,$parameter3,$parameter4,$parameter5,$parameter6,$parameter7){
到
function grabdata($vars){
extract($vars);
这两个片段应该完全相同IF $ vars就像你在问题中描述的那样
答案 1 :(得分:1)
重建你的params以接受null。
function grabdata($strSqlB , $param7 , $param1 = null , $param2 = null , ....){
//Code
}
//Exec
$dbcol = grabdata($strSqlB , $param7);
答案 2 :(得分:0)
重构是必要的,因为函数需要通过适当的键引用参数数组,而不是通过特定的参数变量引用引用参数数组。关于你可以做些什么来进一步重构,我必须更多地了解函数本身。