• 关于代码可能出现的问题


    前几天,在CodeReview的时候,看了一个同事代码有许多不好的地方,

    虽然业务运行是OK的,但是能为了规范或是后续维护迭代,都应该注意一下部分问题。

    注:因为保密原则,文章贴出来的代码都是我按照格式仿写的,并非公司源码。

    1.命名随意

    代码:

    List<UserDTO> list = new ArrayList<>();

    问题:

    直接将变量命名为 list,并没有按照其功能命名

     

    2.缺少空格

    代码:

    if (userDO.getName() != null) {
        codeName= updateUser(userDO);
    } else {
        codeName= addUser(userDO);
    }

    问题:

    codeName后面应与=号之间有一个空格

     

    3.使用反逻辑运算符

    原因:根据阿里巴巴开发手册

     

    4.if-else层数过多

    原因:根据阿里巴巴开发手册

      

    5.方法参数过多

    代码:

    private void collectUsers(Map<Long, UserVO> userMap,
                              List<String> firstCodeList,
                              List<String> secondCodeList,
                              Map<String, String> nameCodeMap,
                              Map<Long, String> idNameMap,
                    Map<Long, String> personCodeMap)

    问题:
    一般传入参数达到5个就需要考虑用对象存储或者其他解决办法

     

    6.单行字符数超过120个

    List<UserAndPersonRelationDO> relateUserAndPersonList = userAndPersonConvertor.requestToDOList(userAndPersonRelationDO, nameAndCode);

    原因:根据阿里巴巴开发手册

    总结:规则是死的,人是活的,有些实在无法避免的是不需要绞尽脑汁在这里纠结的,比如使用“!”,

      文章只是指出一些注意点,尽可能注意就好了,为的只是更规范好看的代码。

  • 相关阅读:
    install source mysql 5.7.9
    直接复制php的安装目录部署到其他服务器的时候,无法运行
    对硬盘进行分区时,GPT和MBR有什么区别?
    centos添加永久静态路由
    Windows2008R2安装远程桌面终端授权
    nginx搭建的cdn服务器的nginx.conf配置文件
    centos6.6配置vlan三层交换
    ESXI 6.0 嵌套虚拟化 Hyper-v
    VLAN的Hybrid和Trunk端口有何区别
    如何添加使用博客RSS订阅
  • 原文地址:https://www.cnblogs.com/kzyuan/p/13864888.html
Copyright © 2020-2023  润新知