• 代码简洁-----第一步:命名


    我们花在读代码和写代码的时间之比大概在10:1.所以写更容易理解的代码,就是加速开发。

    简洁的代码就是只做好一件事儿

    实际技巧
    1.命名要清晰易懂

    2.避免误导
    比如java 代码中
    int[] accountList = new int[];
    其中accountList并不是List,可能会给阅读者带来误导。

    3.做有意义的区分

    比如ProductInfo和ProductData,意思和a,an,the差不多,无法区分出来,缺乏约定,造成阅读的困扰。

    4.保持一致
    以前我们总是说要follow before,其实就是要解决代码风格和处理方式的一致,这样可以减少理解难度和时间。
    比如添加都用add,而不是有的地方写add方法,有的地方又写append.

    5.脱离一点实际需求的命名,用专业化的命名,可以减少后来者的理解成本。比如JobQueue,众人皆知。

    6.写更有语义环境的函数命名。
    比如你在写一个设置用户基础信息的功能,假设是用面向对象的方式。用户User类,有username,age, job, phone,address等属性。
    你可以分别写get,set方法。比如addUserName(),addAge()等。

    尽可能地抽象出公共的方法和类,简化代码,复用代码。

    比如我在写一些列表页面的时候,发现可能都要用到根据某个列(表中字段)来进行排序。
    那么基于业务级别的创建排序查询字符串就是一个不断重复的过程,
    为何不能再进一步抽象出一个公共的创建排序查询字符串的函数呢?

    让每一句代码都是引入一个函数去处理(或者某类的方法调用)

    function buildOrderby($orderData, $validOrderFields) {
    if (!$orderData['order'] || !in_array($orderData['order'], array('asc', 'desc'))) {
    $order = 'desc';
    }
    //过滤排序条件
    if ($orderData['orderField'] && !in_array($orderData['orderField'], $validOrderFields)) {
    $orderField = isset($orderData['default']) ? $orderData['default'] : 'id';
    }

    return $orderField . ' ' . $order;
    }

    应该让更多的判断和细节被封装到最里层,而不是让调用层做太多的处理。

    比如在查询调用的时候,过滤非空的数组元素,是可以写在controller层中:
    $params = array_filter($params);
    $this->users_model->getList($params);

    其实还是应写在model层中:
    if ($param['user_name'] && $param['user_name']) {
    $where[] = "user_name like'%{$param['user_name']}%'";
    }

    还要关注一件事儿,关于模糊查询,到底能不能砍点抽象需求来换查询效率。

  • 相关阅读:
    文件操作
    MFC
    MFC
    MFC
    MFC
    大陆居民身份证验证方法(java)
    java validator的原理与使用
    解析搜狗词库(python)
    ICTCLAS改进的java版分词软件
    mvn打包
  • 原文地址:https://www.cnblogs.com/freephp/p/5093395.html
Copyright © 2020-2023  润新知