zoukankan      html  css  js  c++  java
  • 编码规范小感受

    针对编码规范,我觉得我做的还是比较好的,从开始学习编程就有这个编码规范的意识。因为一段好的优美的代码,就能展现一个人的代码素养,同时也能看出这个人在编写代码的过程中是否是逻辑清楚的。码出来的代码,不仅是自己看得懂就可以了,更是为了别人也能看得懂,就像说话一样,别人要听得懂。这样在以后版本迭代时,别人就能一眼看懂写的是什么,则提高了自己也方便了别人。

    在实际开发过程中,我就深刻的感受到,编码的规范是有多么的重要。最近的在开发某系统,这项目之前是其他团队开发的,我熟悉这个项目的代码都熟悉了蛮久,因为有些代码很让人难以理解。导致查询效率超级慢,经过自己检查,发现以前代码写的如下:

    @Override
    public Integer selectAllCount(IQu q, String nd) {
        // TODO Auto-generated method stub
        List<xxx> list = xxxMapper.selectAllCount(q, nd);
        return list.size();
    }
    

    获取总记录条数,竟然查出全表数据,然后通过list.size()获取总记录条数,真是让我大开眼界,果真在实际项目中遇到了这种情况,我也不知道编写这个代码的人是怎么想得嘞,哈哈哈。应该直接通过select count(*) from db查出总记录条数。

    在项目中还经常遇到if语句不打括号的情况:

    @Override
    public Integer selectByXxxCount(IQu q) {
        List<xxx> list= xxxRecordCounterMapper.selectByXxxCount(q);
        // 代码不规范:
        if(list==null||list.size()==0) return 0;
        RecordTotal recordTotal = list.get(0);
        if (recordTotal.getCounter() == null) {
            return 0;
        }
        return recordTotal.getCounter();
    }
    

    不打括号,很容易踩坑,下次如果有需求去修改这里的代码,如果直接在if语句后面在加一句,没有大括号就会出大问题。应修改为:

    @Override
    public Integer selectByXxxCount(IQu q) {
        List<RecordTotal> list= xxxRecordCounterMapper.selectByXxxCount(q);
        // 正确写法:
        if(list==null||list.size()==0){
            return 0;
        }
        RecordTotal recordTotal = list.get(0);
        if (recordTotal.getCounter() == null) {
            return 0;
        }
        return recordTotal.getCounter();
    }
    

    我之前经常会出现的问题,就是经常写魔法值,魔法数值使代码的可读性大大下降。而且,如果同样的数值多次出现时,到底这些数值是不是带有同样的含义呢,谁也说不清楚。另一方面,如果本来应该使用相同数值的地方,一旦用错了,也很难发现。因此,需要时刻注意,极力避免使用魔法数值。我现在已经有意识避免去制造魔法值了。解决办法就是创建常量,常量名表明在这个值的代表意义,见名知意。并且统一管理这些值,还便于维护。如:

    // 直接看代码,这个16究竟有何含义呢?
    int[] arr = new int[16];
    
    /*--------------------------------------华丽的分割线--------------------------------------*/
    
    // 定义一个常量,并将这个值的意义定位变量名
    static final int ARRAY_MAX_SIZE = 16;
    // 此时含义是很清楚的
    int[] arr = new int [ARRAY_MAX_SIZE];
    

    P3C是值得去学习的,建议在开发工具上装上ALIBABA规范插件和SonarLink插件,这些工具都可以帮助查找代码的不规范,在编写代码的过程中,就能知道写的代码是否规范,根据提示去修改代码,让代码更加规范。

  • 相关阅读:
    HO引擎近况20210912
    查询超时问题的处理
    ubuntu根据关键词批量杀进程
    创建notebook适用的虚拟环境
    信赖域策略优化(Trust Region Policy Optimization, TRPO)
    强化学习(Reinforcement Learning)
    生成对抗网络(GAN与W-GAN)
    卷积神经网络CNN
    循环神经网络RNN
    PyTorch自动求导
  • 原文地址:https://www.cnblogs.com/turbo30/p/14053640.html
Copyright © 2011-2022 走看看