P3C

代码风格之IDEA插件

偶尔善良 提交于 2021-01-21 20:56:27
Save Actions 主要用于在文件保存的时候触发代码格式化,配置如下: Eclipse Code Formatter 用于设置代码格式,比如代码缩进,换行之类的,目前使用阿里的代码格式,格式文件地址如下: https://github.com/alibaba/p3c/blob/master/p3c-formatter/eclipse-codestyle.xml 插件配置如下: 来源: oschina 链接: https://my.oschina.net/u/2312080/blog/4918598

【基础回溯2】Java 基础知识疑难点/易错点

﹥>﹥吖頭↗ 提交于 2021-01-12 06:31:38
本文已经收录自 https://github.com/Snailclimb/JavaGuide (59k+ Star):【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 阅读原文即可获取最新更新! ps: 之前发过这篇文章,不错后面又对内容重新完善和增加了部分内容,而且为了应读者要求做一个文章分类目录菜单,为了保证文章的质量和准确性重新发送了一遍。 1. 基础 1.1. 正确使用 equals 方法 Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 举个例子: // 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常 String str = null ; if (str.equals( "SnailClimb" )) { ... } else { .. } 运行上面的程序会抛出空指针异常,但是我们把第二行的条件判断语句改为下面这样的话,就不会抛出空指针异常,else 语句块得到执行。: "SnailClimb" .equals(str); // false 不过更推荐使用 java.util.Objects#equals (JDK7 引入的工具类)。 Objects.equals( null , "SnailClimb" ); // false 我们看一下 java.util

汇总一下Intellij IDEA炫酷的插件

你。 提交于 2020-08-12 11:46:08
1、日晒主题 Solarized Themes 推荐指数:☆☆☆☆☆ 推荐理由:日晒主题本身是为vim定制的。后来移植到ide 非常酷!配色非常耐看。 最近更新不等号显示,注释不可编辑。 背景图可是另外的插件设置的哈Background Image Plus + 2、idea上 类调用时序图 SequenceDiagram for IntelliJ IDEA 推荐指数:☆☆☆ 推荐理由:在梳理别人的代码的时候, 能够很清晰的看到依赖调用时序 3、彩色括号 Rainbow Brackets 4、mybatis插件集合 :MyBatis Log Plugin MyBatisCodeHelperPro Free Mybatis plugin 推荐指数:☆☆☆☆☆ 推荐理由:在sql的xml里也能智能提示了!酷 三个插件都装上吧,相互补充 5、翻译插件 translation plugin 推荐指数:☆☆☆☆ 推荐理由:不能翻墙的同学,请自行百度如何更换为百度翻译。在ide中直接翻译,不需要跳转到网页了,效率神器! 6、打字效果 Power Mode II 装逼指数:☆☆☆☆☆ 推荐理由:这个就是美化的,装逼用的。喜欢的可以试试,让编码不再单调。火焰特效,抖动都可以单独关闭。留下重力碎屑就好了 7、快捷跳转Action方法 RestfulToolkit 推荐指数:☆☆☆☆☆ 推荐理由

Java程序员必备的11大Intellij插件

陌路散爱 提交于 2020-08-10 10:02:49
善用Intellij插件可大幅提升我们的效率 以下是我用过不错的Intellij插件 1. .ignore 地址: https://plugins.jetbrains.com/plugin/7495--ignore 生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写 截图: 2. lombok 地址: https://plugins.jetbrains.com/plugin/6317-lombok-plugin 支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便 截图: 3. p3c 地址: https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines 阿里巴巴出品的java代码规范插件 可以扫描整个项目 找到不规范的地方 并且大部分可以自动修复 更多可看: https://github.com/alibaba/p3c/tree/master/idea-plugin 4. FindBugs-IDEA 地址: https://plugins.jetbrains.com/plugin/3847-findbugs-idea 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多, 写完代码后检测下

Java 程序员必备的 Intellij IDEA 插件

大城市里の小女人 提交于 2020-08-05 17:49:03
来源:柠檬学园 以下是我用过不错的Intellij插件,分享给大家希望能帮到大家。 1. .ignore 地址: https://plugins.jetbrains.com/plugin/7495--ignore 生成各种ignore文件,一键创建git ignore文件的模板,免得自己去写 截图: 2. lombok 地址: https://plugins.jetbrains.com/plugin/6317-lombok-plugin 支持lombok的各种注解,从此不用写getter setter这些 可以把注解还原为原本的java代码 非常方便 截图: 3. p3c 地址: https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines 阿里巴巴出品的java代码规范插件 可以扫描整个项目找到不规范的地方 并且大部分可以自动修复 更多可看: https://github.com/alibaba/p3c/tree/master/idea-plugin 4. FindBugs-IDEA 地址: https://plugins.jetbrains.com/plugin/3847-findbugs-idea 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多, 写完代码后检测下

阿里巴巴自研代码管理平台技术解密

允我心安 提交于 2020-07-27 09:06:15
【以下为分享实录,有删节】 阿里巴巴为什么要自研代码管理平台 也许你会问:为什么阿里巴巴要重新做一套代码管理平台,继续用GitLab版本不是挺好的吗?接下来从我个人的角度在这里尝试进行解答。 由于历史原因,在阿里巴巴集团内部代码平台是整个DevOps领域中起步相对较晚的一块业务域,相比于发布域、测试域有着多年的积累和沉淀来讲,2017年时的代码平台可以说是为了满足整体业务需求由几个系统强行拼凑起来的。 为了支撑起阿里巴巴整体的业务发展,研发团队要同时维护6个系统,分别是负责代码托管的GitLab、Svn、Gerrit,以及负责上层代码服务的Phabricator、CodeCenter、ScmCenter。且其中除了CodeCenter、ScmCenter之外,其它四个均是在开源系统之上二次封装改造而来的。其中Gitlab技术栈是基于Ruby,Phabricator基于PHP,SVN基于C,Gerrit基于Java,这给我们日常的开发和维护工作增加了很多负担。 当时代码平台遇到的困难和挑战主要有四个方面: 一、技术架构方面:多套系统架构,多种开发语言,不仅维护成本高,且与阿里集团的主流技术脱节,研发团队同学每天疲于填坑,然而整体上却得不到大的改善。 二、平台发展方面:单纯的Gitlab、Svn、Gerrit均无法与周边关联系统做到有效协同

最新Idea超实用告别996插件,都是免费

青春壹個敷衍的年華 提交于 2020-05-04 08:21:34
Idea告别996插件 在IntelliJ IDEA中,秉着IDEA自带能实现的快捷方式就不用插件的原则,少用些插件,运行性能也提升一些,虽然很少,哈哈。分享下我个人常用的插件,希望对大家有些帮助。插件不胜在多,其实不少插件功能是重复的,通过以下插件我很少切换其他页面,都是IDEA里完成,并大大提升编码效率。 1.UID生成器 对于序列化对象,我们常要生成UID,不少童鞋是使用GenerateSerialVerionUID这个插件,其实IDEA其实就自带有实现的了。 在Preferences->Inspections->Serialization issues->Serialization class without 'serialVersionUID'勾选上,或者在Inspections里直接搜UID就能看到。 image-20200501133533163 然后我们新建一个javabean,例如User类并实现Serializable,光标移动到类名称上或者F2,然后按下alt+enter键就会自动生成UID了。 image-20200501133814496 2.Grep console 一款和IDEA Console相关的插件,可以通过expression表达式过滤日志,给不同级别的日志或者给不同的pattern日志加上背景颜色和上层颜色,其实嘛,也就是为了眼睛看得舒服点

第6章 移动语义和enable_if:6.2 特殊成员函数模板

旧时模样 提交于 2020-04-26 08:23:33
6.2 Special Member Function Templates 6.2 特殊成员函数模板 Member function templates can also be used as special member functions, including as a constructor, which, however, might lead to surprising behavior. 特殊成员函数也可以是模板,例如构造函数。但是这可能会导致令人奇怪的行为。 Consider the following example: 考虑下面的例子: #include <utility> #include < string > #include <iostream> class Person { private : std:: string name; public : // constructor for passed initial name: explicit Person(std:: string const & n) : name(n) { std::cout << " copying string-CONSTR for ' " << name << " '\n " ; } explicit Person(std:: string && n) : name(std:

阿里祭出大器,Java代码检查插件

空扰寡人 提交于 2020-04-18 13:07:43
背景 前阵子阿里巴巴发布了 <<阿里巴巴Java开发手册(终极版)>> 。 不久,又一气呵成发布了Eclipse/Intellij Idea下的代码检测插件 PC3 ,可谓是国内代码优秀的检测插件。此插件检测的标准是根据<<阿里巴巴Java开发手册(终极版)>>上面制定的规定进行检测的。 如何使用 代码检测插件放到了github上: https://github.com/alibaba/p3c 打开这个网站,在上面可以找到Eclipse/Intellij Idea对应的插件,上面有安装的方法,和其他的插件安装方法一样,所以这里不再重复,其使用也相当简单。 如在Idea下,随便右击一个项目,选择:编码规约扫描,再会对该项目进行扫描并在下面显示该项目不符合规约的所有列表。 当然,也可以在Tools菜单中进行选择扫描,还有可以切换英文,默认是中文的。另外,默认是打开实时检测的,个人认为没有必要实时检测,这样会增加工具的笨重,开发完提交代码时进行一次扫描还是比较合适的,所以建议关闭实时检测功能。 体验了一下,感觉这个插件检测的要点还是挺重要的,符合国人开发规范及思维,推荐配合findbugs同时使用。 推荐去我的博客阅读更多: 1. Java JVM、集合、多线程、新特性系列教程 2. Spring MVC、Spring Boot、Spring Cloud 系列教程 3. Maven

sonarqube配置全指南,集成阿里巴巴p3c规范

点点圈 提交于 2020-03-12 12:46:43
**环境准备 ** <br/> 内置数据库 Sonar安装成功后,默认内置H2数据库,用于记录单次的扫描结果,对同一个project重复扫码,会覆盖之前的扫描记录,所以H2 数据库只应用于测试,不可以用于生产环境,那如果你是想玩玩,不想长期扫描你的项目,可以不必配置数据库 <br/> 自定义数据库: Oracle SQL Server(只支持SQL Server 2014 以及 SQL Server2016) PostgreSQL MYSQL 版本限制: 8.0>MYSQL>=5.6 (注官方说明,从Sonar7.9版本,不再支持Mysql),以下链接 **End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL. Please migrate to a supported database. Get more details at ** https://community.sonarsource.com/t/end-of-life-of-mysql-support https://jira.sonarsource.com/browse/SONAR-11963 安装步骤 <br/> 1.安装sonarqube: 安装的是windows 7.4 community社区版