最近优化代码,记录一下优化代码的点

1. System.out.println 用 logger.info替代, 自己写的main方法除外

2. e.printstacktrace() 用 logger.error替代

3. list.size>0 或者 list.size!=0 用 CollectionUtil.isNotEmpty 替代

4. List list=new ArrayList 用 List list=new ArrayList() 替代, 自动推导

5 .StringBuffer 用 StringBuilder 替代, 真正项目中 用到 StringBuffer 的场景真的很少

6. 常量类 必须添加 private的构造方法  且  必须放在 所有定义的常量下面

7. 抽取 公共的方法 ,避免过多的 冗余代码

8. 出现频率高的魔法数字用常量替代

9. 用String.valueof 替换 Object+""   ,效率更高

10. 常量类 可以 考虑用接口 代替

11. 如果service层 很多方法都需要传的参数, 可以考虑 ThreadLocal

12. 缓存如果在业务方面 放在  service层做不到 ,可以考虑 缓存 dao层 

13. 移除不需要使用的方法参数

14. Catch Exception instead of Throwable , catch 异常不要 是  Throwable

15. 数组不要加上 final修饰 

16. Return an empty collection instead of null

17. 字符串的非空判断替换为 StringUtils.isNotBlank

18. if (code.equals("1")) {          替换为       if ("1".equals(code)) {     避免空指针异常 

19. 类的构造 符合 

Class and instance variables

Constructors

Methods


最近优化代码,记录一下优化代码的点_第1张图片


20. Move the array designator from the variable to the type


最近优化代码,记录一下优化代码的点_第2张图片

21.  变量修饰符的先后顺序是 : 

The Java Language Specification recommends listing modifiers in the following order:

1. Annotations

2. public

3. protected

4. private

5. abstract

6. static

7. final

8. transient

9. volatile

10. synchronized

11. native

12. strictfp


22 .  An indexOf or lastIndexOf call with a single letter String can be made more performant by switching to a call with a char argument 

sonar 提示  :  Put single-quotes around '/' to use the faster "lastIndexOf(char)" method


最近优化代码,记录一下优化代码的点_第3张图片



23. 静态常量命名为大写,并以 下划线分割 




代码优化越来越重视了,很多公司都搭建了 sonarquebe 检测代码, 如果出了 报告 ,影响绩效的



贴上 StringUtils 类的常用方法: 

最近优化代码,记录一下优化代码的点_第4张图片

你可能感兴趣的:(最近优化代码,记录一下优化代码的点)