Sonarlint代码规范改造实践及一些想法
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代码规范改造实践及一些想法相关推荐
- php SonarLint 代码规范检查提示整理
php SonarLint 代码规范检查提示整理 **1. add curly braces around the nested statement(在嵌套语句周围添加花括号)** 2.Refacto ...
- 【总结】1165- 前端团队代码规范最佳实践,个人成长必备!
作者:杨成功 原文:https://segmentfault.com/a/1190000040948561 本文从代码规范,代码检查,代码格式化,以及编辑器自动化实现的方向,介绍代码规范统一在我们团队 ...
- 前端团队代码规范最佳实践,个人成长必备!
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 作者:杨成功 原文:https://segmentfault.com/a/119000004 ...
- 前端团队代码规范最佳实践!
点击上方关注 前端技术江湖,一起学习,天天进步 作者:杨成功 原文:https://segmentfault.com/a/1190000040948561 本文从代码规范,代码检查,代码格式化,以及编 ...
- SonarLint代码规范检查提示Cognitive Complexity of methods should not be too high
意思是方法的认知复杂性不应过高 认知复杂性是衡量一种方法的控制流程理解难度的指标.认知复杂性高的方法难以让别的开发人员去维护. Cognitive Complexity is a measure of ...
- coverity代码检测工具介绍_兴业证券:静态代码检测最佳实践
一. 引言 谷歌发布的代码规范中指出,80% 的缺失是由 20% 的代码所引起的.规范的代码可以消除过于强烈的个人风格,有助于代码在项目间高效的流转:提升代码的正确性,降低低级问题产生的可能性:同时也 ...
- 前端工程化实践 - 代码规范 提交规范 构建流程 Monorepo(附 React Native 案例)
前端工程化实践 - 代码规范 & 提交规范 & 构建流程 & Monorepo 前言 仓库策略 Multirepo 什么是 Multirepo? Multirepo 的优点 M ...
- java lint_Java代码规范与质量检测插件SonarLint
1. SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...
- [Client]前端代码规范 及 最佳实践
前端代码规范 及 最佳实践 2014/10/29 | 分类: WEB前端, 工具与资源, 开发 | 0 条评论 | 标签: 代码规范, 前端开发, 最佳实践 分享到: 62 本文作者: 伯乐在线 - ...
- Java代码规范与质量检测插件SonarLint
1. SonarLint SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道 下载与安装 在需要检测的单个文件或者单个项目上右键 --> Analyze --> ...
最新文章
- android上方导航条跳转页面,《成为大前端》系列 7. 多页面、页面跳转和Navigation模块...
- 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...
- python的下载和安装步骤-下载及安装Python详细步骤
- 微众WeCross 跨链平台(10)使用场景
- 腾讯TEG团队打造轻量级数据可视化工具——小马BI【强烈推荐大数据行业学习】
- 《剑指offer》把数组排成最小的数
- 四 Apache Axis2 部署 WebService
- scala字符串的拉链操作_在Scala中对字符串进行操作
- Python可以这样学(第五季:Socket编程)-董付国-专题视频课程
- Linux换行符与windows换行符
- 【渝粤教育】电大中专建筑力学 (2)作业 题库
- (創世紀)神的儿子们看见人的…
- 为谷歌浏览器Chrome创建多个用户
- 《The Selfish Giant》
- python selenium爬虫 不打开网页 不打开浏览器
- Android手机teams,在iOS和Android上自定义Microsoft Teams体验的三种最佳方法
- 一些可以参考的文档集合10
- 2.3 放大电路的分析方法
- 微信开发——网页授权
- Java基础50题(1) 1~10题
热门文章
- java.io.IOException: Connection reset by peer
- 基于jQuery的响应式网站视频插件FitVids.js
- python--sorted函数
- nullnullvc中加花
- java爬虫微信公众号信息_微信公众号爬虫项目(reptile)
- 清理数据_Python数据清理终极指南(2020版)
- STC学习:红外通信1(收发单个字节)
- react实现div隐藏_在React中显示或隐藏元素
- 单元覆盖测试排除某些类烧苗_汽车嵌入式软件测试——嵌入式软件测试概述
- tkinter 文本框 值改变_【动图详解】PPT中文本框的使用方法,初学者必看!