美文网首页PHP Chaos
好代码习惯,减少代码的怪味 - Part 2

好代码习惯,减少代码的怪味 - Part 2

作者: xiaojianxu | 来源:发表于2017-05-31 15:20 被阅读9次

11、if 条件语句块中,放置的代码过长。(其实,有更长的代码,导致必须要滚动侧边滚动条,才可以继续阅读。)

实例代码:
该代码段中的 if 只是,为了判断是否为 post 传输方法。建议,直接修改为非 post 提交方式,那就返回提示,并退出代码执行。

 public function is_task_json()
    {
        if ($this->input->method() == 'post') {
            $post = $this->input->post();
            $start = date('Ymd', strtotime($post['taskstart_time']));
            $end = date('Ymd', strtotime($post['taskend_time']));
            if ($start == $end) {
                echo 3;
                exit;
            }
            $group = '';
            $first = $num = 0;
            $table = 'product a';
            $fields = 'b.id,a.ASIN,a.type,b.tasktime';
            $order = 'b.tasktime ASC';
            $join = array(array('product_num b', 'b.productid = a.id', 'left'));
            $where = array('a.ASIN' => $post['ASIN'], 'a.type' => $post['type'], 'a.platform' => $post['platform'], 'a.company_id' => $this->company_id, 'a.status' => 2);
            $sql1 = 'b.tasktime between ' . strtotime($post['taskstart_time']) . ' and ' . strtotime($post['taskend_time']);
            $this->db->where($sql1);
            $list = $this->Data_model->getJoinData($table, $join, $where, $fields, $order, $group, $first, $num);
            echo $list ? 1 : 2;
        }
    }

12、返回响应的是 1, 2, 3 ...,这样没有注释和语义的数字。

 if (!$res1) {
    echo 1;
    exit;
} else {
    echo 2;
    exit;
}

13、可以使用三元运算符来,代替简单的 if...else 。

//优化前:
if ($post['type'] == 1) {
    $fast_comment1 = 2;
} else {
    $fast_comment1 = $post['fast_comment'];
}

if ($post['bind_type'] == 1) {
    $fast_comment2 = 2;
} else {
    $fast_comment2 = $post['bind_fast_comment'];
}

// 优化后:
 $fast_comment1 = ($post['type'] == 1) ? 2 : $post['fast_comment'];
 $fast_comment2 = ($post['bind_type'] == 1) ? 2 : $post['bind_fast_comment'];

14、冗余的条件判断,要善于使用内置函数 empty(),is_null(),is_int(),is_string() 等等。

// 优化前:
$value['create_time'] = $value['create_time'] != '' ? date('Y-m-d H:i:s',$value['create_time']) : '' ;

// 优化后:
$value['create_time'] = empty($value['create_time']) ? '' : date('Y-m-d H:i:s',$value['create_time']);

相关文章

  • 好代码习惯,减少代码的怪味 - Part 2

    11、if 条件语句块中,放置的代码过长。(其实,有更长的代码,导致必须要滚动侧边滚动条,才可以继续阅读。) 实例...

  • 好代码习惯,减少代码的怪味 - Part 1

    1、存在两种逻辑,或以上的判断条件,一定要添加合适的小括号。无论那种开发语言中,都应当紧紧遵守。 Bad Code...

  • 如何优化网页加载速度

    1.减少css,js文件数量及大小(减少重复性代码,代码重复利用),压缩css和js代码。 2.图片的大小 3.把...

  • 集成极光推送

    part 1 Appkey 极光注册应用 part 2 证书及环境 极光证书配置 part 3 代码部分 在项目d...

  • PHPStorm中使用phpcs和php-cs-fixer进行代

    前言:良好的代码规范可以提高代码可读性,减少团队沟通维护成本,所以本文尝试PSR-2代码规范进行代码格式化。 正文...

  • 平时写代码遵守的编码规范

    编码规范有什么作用呢? 提高代码可读性统一全局,加强团队合作减少维护成本规范的代码有助于审查代码养成好习惯,有助于...

  • 架构原则

    1、考虑可维护性、可测试性、可扩展性 2、重构 3、学习成本 4、减少代码量,代码量减少直接导致出问题的风险降低 ...

  • ES6笔记

    1. 使用解构赋值减少代码量 2. 同理,使用展开运算符减少代码量 3. Reflect 附ES5中 Object...

  • 怎样编写代码才能提高系统并发

    减少数据库查询 减少代码无用循环 如果大家有好的点,可以多多留言。

  • SurfaceView入门

    本章目录 Part One:SurfaceView概述 Part Two:SurfaceView代码模板 Part...

网友评论

    本文标题:好代码习惯,减少代码的怪味 - Part 2

    本文链接:https://www.haomeiwen.com/subject/wcuewttx.html