我正在使用CodeIgniter,我得到了一个模型,可以让我们说出所有可以设置偏移量和限制的食谱。我应该扩展该功能以检索单个食谱吗?这是好的做法吗?
答案 0 :(得分:2)
您的目标应该是最大限度地减少代码重复,同时最大限度地提高可理解性。这两者经常不一致。您最终可以使用最少的代码重复,但有一个函数有12个可选参数。所以一些一般提示:
根据您的具体情况,我想您最终会想要:
function get_recipes($offset, $limit) {
// execute query and get resource
$ret = array();
while ($row = mysql_fetch_assoc($rs)) {
$ret[] = build_recipe($row);
}
return $ret;
}
function get_recipe($id) {
// execute query and get row object
return build_recipe($row);
}
function build_recipe($row) {
// construct a recipe object from the row
}
答案 1 :(得分:1)
通常,为了清楚起见,函数应该执行单个任务。但是,“获得N行”是一项任务 - 即使N == 1;所以我认为这个案例是合格的,即函数不是真正的“多用途”! - )
答案 2 :(得分:-1)
答案很简单。