@[toc]
目前的话,我(Guide 哥)是在 Github 开源了两个轮子,一个繁难的 RPC 框架,一个轻量级的 HTTP 框架。代码构造清晰,实现优雅(这个自夸就很不要脸),感兴趣的小伙伴能够看一下。
在写代码的时候,有几个 IDEA 插件对于我标准代码以及更高效地实现编码工作有奇效。
那明天就简略聊聊我平时写代码过程中,有哪些 IDEA 插件对我帮忙最大吧!
Codota:代码智能提醒
我始终在用的一个插件,能够说十分好用了(我身边的很多大佬平时写代码也会用这个插件)。
Codota 这个插件用于智能代码补全,它基于数百万 Java 程序,可能依据程序上下文提醒补全代码。相比于 IDEA 自带的智能提醒来说,Codota 的提醒更加全面一些。
如果你感觉 IDEA 插件装置的太多比拟卡顿的话,不必放心!Codota 插件还有一个对应的在线网站(https://www.codota.com/code),在这个网站上你能够依据代码关键字搜寻相干代码示例,十分不错!
我在工作中常常会用到,说实话的确给我带来了很大便当,比方咱们搜寻 Files.readAllLines
相干的代码,搜寻进去的后果如下图所示:
另外,Codota 插件的根底性能都是收费的。你的代码也不会被泄露,这点你不必放心。
简略来看看 Codota 插件的骚操作吧!
代码智能补全
咱们应用HttpUrlConnection
建设一个网络连接是真的样的:
咱们创立线程池当初变成上面这样:
下面只是为了演示这个插件的弱小,实际上创立线程池不举荐应用这种形式,举荐应用 ThreadPoolExecutor
构造函数创立线程池。我上面要介绍的一个阿里巴巴的插件 -Alibaba Java Code Guidelines 就检测进去了这个问题,所以,Executors
上面用波浪线标记了进去。
代码智能搜寻
除了,在写代码的时候智能提醒之外。你还能够间接选中代码而后搜寻相干代码示例。
Alibaba Java Code Guidelines:阿里巴巴 Java 代码标准
阿里巴巴 Java 代码标准,对应的 Github 地址为:https://github.com/alibaba/p3c。十分举荐装置!
装置实现之后倡议将与语言替换成中文,提醒更加敌对一点。
依据官网形容:
目前这个插件实现了开发手册中的的 53 条规定,大部分基于 PMD 实现,其中有 4 条规定基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测性能。局部规定实现了 Quick Fix 性能,对于能够提供 Quick Fix 但没有提供的,咱们会尽快实现,也欢送有趣味的同学退出进来一起致力。目前插件检测有两种模式:实时检测、手动触发。
上述提到的开发手册也就是在 Java 开发畛域赫赫有名的《阿里巴巴 Java 开发手册》。
手动配置检测规定
你还能够手动配置相干 inspection 规定:
应用成果
这个插件会实时检测出咱们的代码不匹配它的规定的中央,并且会给出批改倡议。比方咱们依照上面的形式去创立线程池的话,这个插件就会帮咱们检测进去, 如下图所示。
这个能够对应上《阿里巴巴 Java 开发手册》这本书对于创立线程池的形式阐明。
CheckStyle: Java 代码格局标准。
为何须要 CheckStyle 插件?
CheckStyle 简直是 Java 我的项目开发必备的一个插件了,它会帮忙咱们查看 Java 代码的格局是否有问题比方变量命名格局是否有问题、某一行代码的长度是否过长等等。
在我的项目上,通过我的项目开发人员自我束缚来标准代码格局必然是不靠谱的! 因而,咱们十分须要这样一款工具来帮忙咱们标准代码格局。
如果你看过我写的轮子的话,能够发现我为每一个我的项目都集成了 CheckStyle,并且设置了 Git Commit 钩子,保障在提交代码之前代码格局没有问题。
Guide 哥造的轮子 ( 代码简洁,构造清晰,欢送学习,欢送一起欠缺):
- guide-rpc-framework:A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架 - 附具体实现过程和相干教程)
- jsoncat:仿 Spring Boot 但不同于 Spring Boot 的一个轻量级的 HTTP 框架
Git 钩子:Git 能在特定的重要动作比方 commit、push 产生时触发自定义脚本。钩子都被存储在 Git 目录下的
hooks
子目录中。也即绝大部分我的项目中的.git/hooks
。
如何在 Maven/Gradle 我的项目中集成 Checksytle?
个别状况下,咱们都是将其集成在我的项目中,并设置相应的 Git 钩子。网上有相应的介绍文章,这里就不多提了。
如果你感觉网上的文章不直观的话,能够参考我下面提到了两个轮子:
- guide-rpc-framework:Maven 我的项目集成 Checksytle。
- jsoncat:Gradle 我的项目集成 Checksytle。
如果你在我的项目中集成了 Checksytle 的话,每次检测会生成一个 HTML 格局的文件通知你哪里的代码格局不对,这样看着十分不直观。通过 Checksytle 插件的话能够十分直观的将我的项目中存在格局问题的中央显示进去。
如果你只是本人在本地应用,并不想在我的项目中集成 Checksytle 的话也能够,只须要下载一个 Checksytle 插件就足够了。
如何装置?
咱们间接在 IDEA 的插件市场即可找到这个插件。我这里曾经装置好了。
装置插件之后重启 IDEA,你会发现就能够在底部菜单栏找到 CheckStyle 了。
如何自定义检测规定?
如果你须要自定义代码格局检测规定的话,能够依照如下形式进行配置(你能够导入用于自定义检测规定的 CheckStyle.xml
文件)。
应用成果
配置实现之后,依照如下形式应用这个插件!
能够十分清晰的看到:CheckStyle 插件曾经依据咱们自定义的规定将我的项目中的代码存在格局问题的中央都检测了进去。
SonarLint: 帮你优化代码
SonarLint 帮忙你发现代码的谬误和破绽,就像是代码拼写查看器一样,SonarLint 能够实时显示出代码的问题,并提供清晰的修复领导,以便你提交代码之前就能够解决它们。
并且,很多我的项目都集成了 SonarQube,SonarLint 能够很不便地与 SonarQube 集成。
我的开源我的项目举荐
- JavaGuide:「Java 学习 + 面试指南」一份涵盖大部分 Java 程序员所须要把握的外围常识。筹备 Java 面试,首选 JavaGuide!
- guide-rpc-framework:A custom RPC framework implemented by Netty+Kyro+Zookeeper.(一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架 - 附具体实现过程和相干教程)
- jsoncat:仿 Spring Boot 但不同于 Spring Boot 的一个轻量级的 HTTP 框架
- programmer-advancement:程序员应该有的一些好习惯 + 面试必知事项!
- springboot-guide:Not only Spring Boot but also important knowledge of Spring(不只是 SpringBoot 还有 Spring 重要知识点)
- awesome-java:Collection of awesome Java project on Github(Github 上十分棒的 Java 开源我的项目汇合).
我是 Guide 哥,一 Java 后端开发,会一点前端,自在的少年。咱们下期再见!微信搜“JavaGuide”回复“面试突击”支付我整顿的 4 本原创 PDF
我是 Guide 哥,一 Java 后端开发,会一点前端,自在的少年。咱们下期再见!微信搜“JavaGuide”回复“面试突击”支付我整顿的 4 本原创 PDF