2012-11-08随笔,关于代码严谨性、编写的优雅性

今天又被老大训了一顿!
主要是因为代码写的不够严谨。
写代码要从
 
传递值的获取,
数据校验,
变量初始,
数据获取,
逻辑处理,
视图渲染。

而数据获取又可以封装在模型中,当然,筛选值构建也可以放在模型中。

如果一个方法动作能这样块状的编写,是很优雅的!
举个例子:
遵循上面的方式:
        $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 ));

 

两种方式有两种方式的好处,不错冲感官逻辑上来说,第一种比较有条例性和规范性。
就如写八股文一样,破题、承题、起讲、入手、起股、中股、后股、束股。一步一步来,乱不了!


当然 还需要缩进,缩进能是一小段代码成块,便也阅读。注释也是必须的!
难免会遇到自己回来看代码看不懂的时候。

今天又做了些浪费时间的事,有句话说,预谋其事,先利其器。人啊,就是不长记性!
自己花时间写了半天的函数,原来类库中早就有了!


嗯,不过今天心情不错!


今天还收获一句话:程序员看程序员的代码、作品,会不满意。
程序员写给客户的代码,就算再搓功能再弱小。只要能满足客户的要求,就是好的!

呵呵、要看开、要看开!


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值