Sonarlint代码规范改造实践及一些想法

1.Ternary operators should not be nested(三元运算符不应该嵌套)


官方给的原因:
仅仅因为您可以做一些事情,并不意味着您应该做,嵌套三元操作就是这种情况。嵌套三元运算符所生成的代码在您编写时可能看起来非常清晰,但六个月后将会让维护者(或者更糟——将来的您)挠头咒骂。
相反,为了清晰起见,应该使用另一行将嵌套操作表示为单独的语句。

这个规则我有些不认同,感觉有些没必要改。

2. Instance methods should not write to “static” fields(实例方法不应该写入“静态”字段)


官方给出的原因是:
从非静态方法正确更新静态字段需要技巧,如果有多个类实例和/或多个线程在运行,则很容易导致错误。理想情况下,静态字段只从同步静态方法中更新。
但是,我这个是借助@PostConstruct注解的,如果再另起一个类做,感觉代码量又上来了,暂时先压着,以后再考虑。

3. Cognitive Complexity of methods should not be too high(方法的认知复杂性不应过高)


认知复杂性是一种方法的控制流程难以理解的衡量标准。认知复杂性高的方法将难以维持。
嗯,这个…一言难尽

4. Utility classes should not have public constructors(实用程序类不应该有公共构造函数)


实用程序类是静态成员的集合,并不意味着要实例化。即使是可以扩展的抽象实用程序类,也不应该有公共构造函数。
Java将隐式公共构造函数添加到每个没有至少显式定义一个的类中。因此,至少应该定义一个非公共构造函数。
嗯,这个感觉有没有都没多大所谓吧。

5. Resources should be closed(应该关闭资源)


实现可关闭接口或其超接口AutoCloseable的连接、流、文件和其他类在使用后需要关闭。而且,必须在finally块中完成这个差一点的调用,否则可能会出现异常使调用无法进行。最好,当类实现AutoCloseable时,应该使用“try-with-resources”模式创建资源,并自动关闭。
如果不能正确地关闭资源,将会导致资源泄漏,首先会使应用程序崩溃,然后可能会使机器瘫痪。

这个感觉还是很重要的。

未完待续

Sonarlint代码规范改造实践及一些想法相关推荐

  1. php SonarLint 代码规范检查提示整理

    php SonarLint 代码规范检查提示整理 **1. add curly braces around the nested statement(在嵌套语句周围添加花括号)** 2.Refacto ...

  2. 【总结】1165- 前端团队代码规范最佳实践,个人成长必备!

    作者:杨成功 原文:https://segmentfault.com/a/1190000040948561 本文从代码规范,代码检查,代码格式化,以及编辑器自动化实现的方向,介绍代码规范统一在我们团队 ...

  3. 前端团队代码规范最佳实践,个人成长必备!

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 作者:杨成功 原文:https://segmentfault.com/a/119000004 ...

  4. 前端团队代码规范最佳实践!

    点击上方关注 前端技术江湖,一起学习,天天进步 作者:杨成功 原文:https://segmentfault.com/a/1190000040948561 本文从代码规范,代码检查,代码格式化,以及编 ...

  5. SonarLint代码规范检查提示Cognitive Complexity of methods should not be too high

    意思是方法的认知复杂性不应过高 认知复杂性是衡量一种方法的控制流程理解难度的指标.认知复杂性高的方法难以让别的开发人员去维护. Cognitive Complexity is a measure of ...

  6. coverity代码检测工具介绍_兴业证券:静态代码检测最佳实践

    一. 引言 谷歌发布的代码规范中指出,80% 的缺失是由 20% 的代码所引起的.规范的代码可以消除过于强烈的个人风格,有助于代码在项目间高效的流转:提升代码的正确性,降低低级问题产生的可能性:同时也 ...

  7. 前端工程化实践 - 代码规范 提交规范 构建流程 Monorepo(附 React Native 案例)

    前端工程化实践 - 代码规范 & 提交规范 & 构建流程 & Monorepo 前言 仓库策略 Multirepo 什么是 Multirepo? Multirepo 的优点 M ...

  8. java lint_Java代码规范与质量检测插件SonarLint

    1.  SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...

  9. [Client]前端代码规范 及 最佳实践

    前端代码规范 及 最佳实践 2014/10/29 | 分类: WEB前端, 工具与资源, 开发 | 0 条评论 | 标签: 代码规范, 前端开发, 最佳实践 分享到: 62 本文作者: 伯乐在线 -  ...

  10. Java代码规范与质量检测插件SonarLint

    1.  SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...

最新文章

  1. android上方导航条跳转页面,《成为大前端》系列 7. 多页面、页面跳转和Navigation模块...
  2. 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...
  3. python的下载和安装步骤-下载及安装Python详细步骤
  4. 微众WeCross 跨链平台(10)使用场景
  5. 腾讯TEG团队打造轻量级数据可视化工具——小马BI【强烈推荐大数据行业学习】
  6. 《剑指offer》把数组排成最小的数
  7. 四 Apache Axis2 部署 WebService
  8. scala字符串的拉链操作_在Scala中对字符串进行操作
  9. Python可以这样学(第五季:Socket编程)-董付国-专题视频课程
  10. Linux换行符与windows换行符
  11. 【渝粤教育】电大中专建筑力学 (2)作业 题库
  12. (創世紀)神的儿子们看见人的…
  13. 为谷歌浏览器Chrome创建多个用户
  14. 《The Selfish Giant》
  15. python selenium爬虫 不打开网页 不打开浏览器
  16. Android手机teams,在iOS和Android上自定义Microsoft Teams体验的三种最佳方法
  17. 一些可以参考的文档集合10
  18. 2.3 放大电路的分析方法
  19. 微信开发——网页授权
  20. Java基础50题(1) 1~10题

热门文章

  1. java.io.IOException: Connection reset by peer
  2. 基于jQuery的响应式网站视频插件FitVids.js
  3. python--sorted函数
  4. nullnullvc中加花
  5. java爬虫微信公众号信息_微信公众号爬虫项目(reptile)
  6. 清理数据_Python数据清理终极指南(2020版)
  7. STC学习:红外通信1(收发单个字节)
  8. react实现div隐藏_在React中显示或隐藏元素
  9. 单元覆盖测试排除某些类烧苗_汽车嵌入式软件测试——嵌入式软件测试概述
  10. tkinter 文本框 值改变_【动图详解】PPT中文本框的使用方法,初学者必看!