今天又被老大训了一顿!
主要是因为代码写的不够严谨。
写代码要从
主要是因为代码写的不够严谨。
写代码要从
传递值的获取,
数据校验,
变量初始,
数据获取,
逻辑处理,
视图渲染。
而数据获取又可以封装在模型中,当然,筛选值构建也可以放在模型中。
如果一个方法动作能这样块状的编写,是很优雅的!
举个例子:
遵循上面的方式:
遵循上面的方式:
$user_id = (int) UxHttpRequest::get('user_id'); if (!$user_id) { $this->message = '没有选择商家,请返回重试!'; $this->index(); exit; } $model = new DealerAgentBusiness(); $dealer_model = new Dealer(); $category_model = new AgentBusinessCategory();
$dealer = $dealer_model->getOne('id=' . $user_id);
$where = $model->getSearchCondition(); //获取搜索框查询条件 $where .= ' AND user_id=' . $user_id;
$dealer_agent_businesses = $model->getAll($where, '', 'status', 'DESC'); //获取当前商家已有的所有业务ID $delaer_category_ids = array(); $ids_tmp = $model->getAll('user_id =' . $user_id, 'category_id'); foreach ($ids_tmp as $key => $v) { $delaer_category_ids[] = $v['category_id']; } $id_string = implode(',', $delaer_category_ids); $id_string = empty($id_string) ? 0 : $id_string; $where = 'status = 1 AND id not in(' . $id_string . ')'; $agent_business_category_list = $category_model->getAll($where); $this->render('view', array( 'dealer' => $dealer, 'dealer_agent_businesses' => $dealer_agent_businesses, 'agent_business_category_list' => $agent_business_category_list ));
对应的某模型数据处理写在一块。
$user_id = (int) UxHttpRequest::get('user_id'); if (!$user_id) { $this->message = '没有选择商家,请返回重试!'; $this->index(); exit; } $model = new DealerAgentBusiness(); //获取当前商家已有的所有业务ID $delaer_category_ids = array(); $ids_tmp = $model->getAll('user_id =' . $user_id, 'category_id'); foreach ($ids_tmp as $key => $v) { $delaer_category_ids[] = $v['category_id']; } $dealer_model = new Dealer();
//获取搜索框查询条件 $where = '1=1'; $where .= isset($data['is_dtd']) ? ' AND is_dtd=' . (int) $data['is_dtd'] : ''; $where .= isset($data['status']) ? ' AND status=' . (int) $data['status'] : '';
$where .= ' AND user_id=' . $user_id; $dealer = $dealer_model->getOne('id=' . $user_id); $dealer_agent_businesses = $model->getAll($where, '', 'status', 'DESC'); $category_model = new AgentBusinessCategory(); $id_string = implode(',', $delaer_category_ids); $id_string = empty($id_string) ? 0 : $id_string; $where = 'status = 1 AND id not in(' . $id_string . ')'; $agent_business_category_list = $category_model->getAll($where); $this->render('view', array( 'dealer' => $dealer, 'dealer_agent_businesses' => $dealer_agent_businesses, 'agent_business_category_list' => $agent_business_category_list ));
两种方式有两种方式的好处,不错冲感官逻辑上来说,第一种比较有条例性和规范性。
就如写八股文一样,破题、承题、起讲、入手、起股、中股、后股、束股。一步一步来,乱不了!
当然 还需要缩进,缩进能是一小段代码成块,便也阅读。注释也是必须的!
难免会遇到自己回来看代码看不懂的时候。
今天又做了些浪费时间的事,有句话说,预谋其事,先利其器。人啊,就是不长记性!
自己花时间写了半天的函数,原来类库中早就有了!
嗯,不过今天心情不错!
今天还收获一句话:程序员看程序员的代码、作品,会不满意。
程序员写给客户的代码,就算再搓功能再弱小。只要能满足客户的要求,就是好的!
呵呵、要看开、要看开!