zoukankan      html  css  js  c++  java
  • 关于代码可能出现的问题

    前几天,在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);

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

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

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

  • 相关阅读:
    移动端HTML5音频与视频问题及解决方案
    git did not exit cleanly
    移动端事件对象touches的误区
    原创:CSS3技术-雪碧图自适应缩放与精灵动画方案
    H5+JS+CSS3 综合应用
    深入理解CSS3 Animation 帧动画
    在 MacOS 中使用 multipass 安装 microk8s 环境
    [译] Design patterns for container-based distributed systems
    Sangmado 公共基础类库
    Redola.Rpc 集成 Consul 服务发现
  • 原文地址:https://www.cnblogs.com/kzyuan/p/13864888.html
Copyright © 2011-2022 走看看