来源 | https://www.cnblogs.com/cjsblog/p/10735800.html

1.  SonarLint

SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道

下载与安装

在需要检测的单个文件或者单个项目上右键 --> Analyze --> Analyze with SonarLint

或者选中文件或目录,点击菜单栏 Analyze --> Analyze with SonarLint

我们还可以禁用某些规则

如果需要同步自定义的规则时,可以绑定到SonarQube

查看检测的结果

对于代码中的警告我们不能视而不见

有了代码质量检测工具以后,在一定程度上可以保证代码的质量

对于每一个问题,SonarLint都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发

比如,对于日期类型尽量用LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题

有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看

为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切

于是,SonarQube 闪亮登场!

2.  SonarQube

SonarQube是一个开源的代码质量管理平台

解压&本地启动

https://docs.sonarqube.org/latest/setup/get-started-2-minutes/

unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol

启动成功后,访问 http://localhost:9000  用管理员账号(admin/admin)登录

接下来,为了把检测的结果传到服务器,我们需要配置一个Scanner

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven

这里我在项目中添加 sonar-maven-plugin 插件

<build><plugins><plugin><groupId>org.sonarsource.scanner.maven</groupId><artifactId>sonar-maven-plugin</artifactId><version>3.6.0.1398</version></plugin></plugins>
</build>

命令行执行:mvn clean compile sonar:sonar

成功后,可以在控制台中看到这样的输出

再次刷新 http://localhost:9000/ 会看到跟刚才不一样了

以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档

https://docs.sonarqube.org/latest/setup/install-server/

3.  Alibaba代码规约插件

阿里代码规范,相信大家都不陌生

4.  文档

https://www.sonarqube.org/

https://www.sonarsource.com/plans-and-pricing/community/

https://www.sonarlint.org/

https://docs.sonarqube.org/latest/setup/overview/

https://docs.sonarqube.org/latest/

https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven

https://github.com/SonarSource

往期推荐

3年至少15个项目经验,7天搞定1个项目!这样的招聘要求,你能胜任吗?

请立即卸载这款 IDEA 插件

“12306” 是如何支撑百万 QPS 的?

还在用Logback?Log4j2的异步性能已经无敌了,还不快试试

5天5000万访问的个人网站是如何诞生的?

如果你喜欢本文,欢迎关注我,订阅更多精彩内容

关注我回复「加群」,加入Spring技术交流群

代码总是被嫌弃写的太烂?装上这个IDEA插件再试试!相关推荐

  1. 40岁程序员写出租车一键下单电话叫车软件后被发帖骂骗子写得太烂

    俺从2004年开始入行,从asp写到c++..net.java.ruby.PHP.object-c.单片机:至今已经17年整. 老老实实写了17年代码,经历了"程序员只能吃青春饭,到了30岁 ...

  2. Java jar 如何防止被反编译?代码写的太烂,害怕被人发现

    欢迎关注方志朋的博客,回复"666"获面试宝典 java作为解释型的语言,其高度抽象的特性意味其很容易被反编译,容易被反编译,自然有防止反编译措施存在.今天就拜读了一篇相关的文章, ...

  3. 学生论文写的太烂参加答辩,导师被气到直接辞职....

    编辑 | 募格学术 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 是什么让学生废寝忘食?是什么让老师头晕眼花?是什么事情在毕业季时刻萦绕在学生和老师的脑海里 ...

  4. 代码能不能不要写得这么烂?!

    我是一个研二的即将实习和毕业的普通屌丝研究生,带着几个研一的同学一起做数据挖掘项目.为了在毕业的时候防止青黄不接导致老师不让我毕业,于是从他们刚进实验室起,就"开始了设计模式和代码风格的培养 ...

  5. 学弟啊,你代码能不能不要写得这么烂?!--文末送书

    点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 作者:沙漠之鹰 www.cnblogs.com/buptzym/archive/2013/05/25/3099389.html 今日封面图 ...

  6. java课程设计题目及代码中国象棋,写的太详细了

    在这里分享一份 [mybatis从入门到精通] 的强力教程,定能够助你一臂之力. Mybatis基本介绍 ORM和MyBatis 对象/关系数据库映射(ORM) 基本映射方式 流行的ORM框架简介 目 ...

  7. 我的代码和注释都写的像坨屎,那又怎么样?

    一周前,我的朋友圈被一篇 #百度某新员工发飙:前人代码写得像一坨屎,颠覆了对大厂的认知# 的文章刷屏了,评论区也非常热闹. 但让我惊讶的是,几乎所有的声音里都充满着嘲笑与讥讽,有的剑指百度的价值观,那 ...

  8. 打开游戏要运行 19.8 亿次 if 语句?黑客嘲讽 RockStar 游戏代码太烂了

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 博客原文 https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times-by- ...

  9. 当程序员说“这代码写的可真烂”,他们的意思是“这烂代码不是我写的”。而当他们说这段代码有些“小问题”时,很可能这代码是他们自己写的...

    英文原文:What Programmers Say vs. What They Mean 你是否听到过同事说"这段代码不言自明"?你的同事的这句话的实际意思是这段代码不需要写注释. ...

最新文章

  1. php js混淆加密工具,求混淆js加密算法解密
  2. XFCE字体发虚的解决方法
  3. 做为前端开发者,你应该要懂的 http协议
  4. 开源性能测试工具JMeter快速入门(一)
  5. Vue 脚手架CLI 初始化项目
  6. spring bean中scope=prototype“的作用
  7. JHipster入门,第2部分
  8. 通信(1)---LTE 整体架构
  9. 讯飞超脑2030计划开启 持续引领人工智能未来发展
  10. 把html压缩成dll,一篇文章带你浅入webpack的DLL优化打包
  11. 红蓝宝书1000题 新日本语能力考试N1文字.词汇.文法 练习+详解
  12. 贪吃蛇游戏 js网页版
  13. ue4 rpc php,UE4 Run On owing Client解析(RPC测试)
  14. 【报告分享】代餐行业营销洞察报告-丁香医生(附下载)
  15. 防御100gDDoS需要多少钱
  16. 注册表usbstor删除不了_彻底清除注册表U盘与USB使用记录技巧
  17. JAVA记录从键盘输入的正数和负数的个数(0结束)
  18. 银联最新公布 又有几家的app都被拉黑了
  19. android MTK平台驱动设置
  20. 2、直角坐标系下二重积分的计算

热门文章

  1. 服务器标记“asp:ScriptManager”不明确。
  2. POSIX消息队列信号通知
  3. stun 协议 NAT穿透方式 简介
  4. linux truss strace ltrace 对比 诊断调试程序
  5. pycharm 调试错误 Connection to Python debugger failed: Socket operation on nonsocket: configureBlocking
  6. linux chattr与lsattr命令 底层权限控制
  7. Linux的mount命令简介
  8. Android中的各种Adapter
  9. Android开发中的控件--ProgressBar和ListView
  10. OpenStack-MitakaCentos7.2双节点搭建--(二)Keystone(认证服务)