review 下属的代码之后,我吐了一杯咖啡

        早上我喝一杯咖啡,开始了一天的工作。首先先review一下下属的代码,稍微看一下发现代码不太优雅(皱眉脸)。稍微总结一下各    位的错误吧,基本的业务代码都垒不好,整天满嘴高可用,高并发,真是醉了。刚刚喝进去的咖啡差点喷出来。

       随便打开一个类,映入眼帘的是这样的代码

      

      遍历一个Map,的所有key ,然后再根据key,去获取value的值。为什么不一次性直接获取value和key呢? 我露一手

            List<LowerMap> keyList = null;
            for(Map.Entry<String,List<LowerMap>> entry : resultProMap.entrySet()){
              keyList = entry.getValue();
              //其他的业务代码

             }

       这样直接获取entry,里面都有key和value,难道不香吗? 而且为什么吧keyList的申明放在循环里面,放外面就好了hie(闽南腔)

      继续继续,姨,这代码好像有点问题,但又说不出来,哦哦,想起来了!大家看看

     

    咱今儿,就不纠结那些驼峰啊什么的代码细节了,主要看代码本身。pagesizestr是string类型,前面两行主要是string转int.

   如果按照这位同学写的,那就是转化为包装类之后再拆箱,因为我手抖点了一下源码

  

  看看,是不是返回的Integer,整那么累干嘛,你直接用Integer.parseInt(),不就完了,这是的。

  抿一口手摸咖啡,继续继续!

   很多细节问题,不想一一贴出来,更多有意思的请看我的另外一篇博文   哈哈哈代码王者

   还有很多问题,

  声明的变量不用,idea都给你置灰了,为什么留着碍眼。

  不用的包导进来干嘛, ctrl+alt+o 不会用?不会用学啊!

  注释的僵尸代码又不用,删了又觉得可惜?

  方法不要写的太长

  空指针异常是首要防范的

  方法签名中没有用到的参数就去掉咯

  有异常的时候麻烦写一下日志,不要只是e.getprinttrace(),谢谢!!!

  方法前请写上你的大名,让我知道这是谁写的,好跟你沟通交流,保证不打死你哦!!

  请让代码自解释最好,自解释了就不要再多余地注释了

  请不要写太多的魔法值,我真不知道你写的 “1".equals(type),中的“1”,代表啥,要么注释,要么写进常量类

  logger.error(e.getMessage)是不会在日志中记录完成的堆栈信息的,只能打印这是个什么错误,error()方法有多个重载方法的

  详情请看https://www.cnblogs.com/yanggb/p/10965857.html

  搬砖也要有素养。

  文末推荐一个code review插件 sonartlint

   更多问题欢迎加群讨论:微信

  

发布了29 篇原创文章 · 获赞 34 · 访问量 8134

猜你喜欢

转载自blog.csdn.net/weixin_39634532/article/details/103880298