引言 最近在做Sonar静态代码扫描管理,以此顺手接了Sonar的插件开发,基于阿里开发手册进行开发,在整体开发过程中,其中还是遇到不少坑位,也以此给大家做相应借鉴官网Demo演示插件开发地址:https://docs.sonarqube.org/display/PLUG/Writing+Custom+Java+Rules+101基于官网的我暂时不多说,基础框架按照官网的范例进行搭建即可 #开源地址:https://github.com/tigerge000/sonar-java-custom-…
一.前言 火线(Fireline)的Jenkins官方插件已经上线,目前火线不仅能检查出安卓代码中的安全类问题和内存泄露问题,还兼容了阿里开源的Java开发规约(P3C项目),本文将以教程的形式帮助大家了解如何在Jenkins中使用火线插件做静态代码扫描. 提示:如果您是第一次使用Jenkins,请先前往文章[[新手教程] Jenkins 下载安装配置教程],本篇博客转载:http://www.sohu.com/a/208421161_741445?qq-pf-to=pcqq.c2c 二.安装步…
idea安装工具 打开插件安装界面 File-Settings-Plugins-Browse repositories... 搜索Alibaba Java Coding Guidelines 进行安装 使用编码规约扫描 点击工具栏或者右键选择 编码规约扫描 扫描结果如下: 扫描结果分为三类:Blocker(崩溃)Critical(严重)Major(一般) 展开扫包结果提示错误信息,根据提示更改错误. 更改完成,可重新扫描检查 阿里巴巴 Java 开发手册 链接: https://pan.baid…
Arrays.asList()方法把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出UnsupportedOperationException(),我们来看一下为什么会出现这种情况. 问题分析 我们做个测试 public static void main(String[] args) {       List<String> list = Arrays.asList("a", "b", "c&quo…
引言 基于阿里开发手册的sonar自定义插件工程 开源地址: https://github.com/tigerge000/sonar-java-custom-rules.git由于最近来问童鞋,就算写出了Demo,但部署到sonar平台后,运行还是出现各种问题,因此我这边把 sonar平台部署,插件打包,插件导入等一些列重新补一篇sonar自定义插件开发文章: https://testerhome.com/topics/8105 Linux下安装Sonar 下载地址: https://www.s…
引言 基于阿里开发手册的sonar自定义插件工程 开源地址: https://github.com/tigerge000/sonar-java-custom-rules.git由于最近来问童鞋,就算写出了Demo,但部署到sonar平台后,运行还是出现各种问题,因此我这边把 sonar平台部署,插件打包,插件导入等一些列重新补一篇sonar自定义插件开发文章: https://testerhome.com/topics/8105 Linux下安装Sonar 下载地址: https://www.s…
摘要: 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. 本文讲的是阿里正式发布<Java开发手册>终极版!,别人都说我们是码农,但我们知道,自己是个艺术家.也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美.质量的美.而代码规约其实就是一个对美的定义. <阿里巴巴Java开发手…
前言 最近看阿里的 Java开发手册,上面有线程池的一个建议: [强制]线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式, 这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险. 结合最近面试的经历,发现这条建议还是十分有用的,因为自己经常使用Executors提供的工厂方法创建线程池,所以忽略了线程池内部的实现. 特别是拒绝策略,面试被问到两次,还好因为这条建议,自己提前熟悉了一下ThreadPoolExecutor. Thr…
转载请注明原创出处,谢谢! 说在前面 人生的大道上默默地走,就必须要有一盏灯亮着为你引导方向!而这盏灯抑或只是一句话,一句鼓励,一个赞美,一次承认,一次认可,一次相识一次交流-- 上篇文章:阿里JAVA开发手册零度的思考理解(一)得到作者孤尽的肯定支持,那是一个小激动啊,我会继续努力,继续阅读和思考阿里JAVA开发手册,毕竟每一条都是前人踩过的坑,通过血的教训总结出来的. 上篇题目回顾 看完这条,个人觉得主要是集合相关操作,在JAVA基础中集合这块的重要性也的确非常重要(毕竟是用到最多的),本期…
版本: 1.3.0 update: 2017.9.25 一.编程规约 (一) 命名风格 1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例:_name _name_name / __name__name __name __name / $Object$Object $Object $Object / name_name_ name_ / name$ name$ name$ / Object$ Object$ Object$ Object$2. [强制]代…