当前位置 博文首页 > A_art_xiang的博客:java程序员如何编写出优美的代码-java编程规

    A_art_xiang的博客:java程序员如何编写出优美的代码-java编程规

    作者:[db:作者] 时间:2021-07-14 10:01

    目录

    写在前面

    java编程规范

    规范一、避免在程序中使用无意义的名称(变量名、方法名等),必须用有意义的名称来标识。

    规范二、明确方法的功能,一个方法仅完成一个功能。

    1.注释提炼法(如果一段代码上有注释,那么就可以提炼出来)

    2.条件表达式和循环(应该将循环和其内的代码提炼到单独的函数中)

    3.重复代码

    规范三、方法参数不能过多(最好不超过5个)

    规范四、你需要再三检查某对象是否为null

    规范五、少用switch

    规范六、方法尽量不要返回null

    规范七、在进行数据库操作或IO操作时,必须确保资源在使用完毕后得到释放,并且必须确保释放操作在finally中进行

    规范八、异常捕获不要直接catch (Exception ex) ,应该把异常细分处理

    规范九、使用if一定要在最后包含一个else

    规范十、线程最好使用线程池管理

    规范十一、金钱操作,最好使用BigDecimal

    规范十二、异常捕获一定要打印异常,否则根本不知道异常出在哪里

    规范十三、添加必要且不啰嗦的注释


    写在前面

    ? ? 作为一个java程序员,编程规范是非常重要的。

    ? ? 工作三年了,回头再看看自己一两年之前编写的代码,简直就是不忍直视。。

    ? ? 尤其是最近,跟一些大佬一起编码,看着他们那些漂漂亮亮的代码,真的是从心里升起一股子佩服。

    ? ? 于是乎,就诞生了这一篇,java编程的规范。

    ? ? 我在这一篇文章中提到过,我的代码为什么看起来像shit?程序员写的代码有三重境界,让自己看懂-让机器看懂-让别人看懂,当你写的代码能够轻易的移交给别人,那说明你写的代码已经非常规范了。

    java编程规范

    ? ? 规范其实并不是“必须要这样做”,而是一种公认的比较合理的东西。

    ? ? 就像是坐着不能抖腿,不是说抖腿就会影响健康,而是不雅观~

    规范一、避免在程序中使用无意义的名称(变量名、方法名等),必须用有意义的名称来标识。

    //例如,以下代码是万万不能出现的
    public static void bbb(String aaa){
        int a = 0;
        if("张三".equals(aaa)){
            a = 1;
        }
        String ccc = "";
    }

    规范二、明确方法的功能,一个方法仅完成一个功能。

    方法不能过长,确保一个方法仅完成一个功能是最好的效果。如果方法过长,对长方法进行分解,是每个程序员都应该会做的。

    刚开始可能都不太清楚该怎么将一个方法进行分解,这里有几种分解方法的技巧:

    1.注释提炼法(如果一段代码上有注释,那么就可以提炼出来)

    通常写一段注释,就意味着以下的代码代表着一种功能,这个时候就可以将这段代码提炼出来。

    2.条件表达式和循环(应该将循环和其内的代码提炼到单独的函数中)

    通常这部分比较啰嗦,单独提炼出来可以提高代码可读性。

    3.重复代码

    将重复代码提炼出来,可以增加代码的复用性。

    规范三、方法参数不能过多(最好不超过5个)

    方法参数过多,可以封装一个实体类,将实体类作为参数进行传参。

    切记,不要使用map作为方法参数,这样的代码可读性非常差!

    规范四、你需要再三检查某对象是否为null

    使用某对象时,一定要再三检查某对象是否为null,否则非常容易造成空指针。

    规范五、少用switch

    switch可以用枚举替代,或者用单个类来替代,或者单独抽取出来。

    规范六、方法尽量不要返回null

    取而代之以抛出异常,或是返回特例对象(代表null意义的自定义对象);对于以集合或数组类型作为返回值的方法,取而代之以空集合或0长度数组。

    规范七、在进行数据库操作或IO操作时,必须确保资源在使用完毕后得到释放,并且必须确保释放操作在finally中进行

    规范八、异常捕获不要直接catch (Exception ex) ,应该把异常细分处理

    规范九、使用if一定要在最后包含一个else

    对于if ? else if ?(后续可能有多个else if …)这种类型的条件判断,最后必须包含一个else分支,避免出现分支遗漏造成错误;每个switch-case语句都必须保证有default,避免出现分支遗漏,造成错误。

    规范十、线程最好使用线程池管理

    规范十一、金钱操作,最好使用BigDecimal

    规范十二、异常捕获一定要打印异常,否则根本不知道异常出在哪里

    规范十三、添加必要且不啰嗦的注释

    ?

    ?

    ?

    cs