插件推荐:如何将Java编码规范落地实际开发中

简介: 阿里近万名Java技术开发者通过不断总结与提炼,并经历了多次大规模一线实战检验及完善,出版了众所周知的《阿里巴巴Java开发手册》,但对于很多人而言,手册始终无法直接应用在日常的开发工作中,如果有相应的IDE插件进行支持,那简直完美。因此,Cloud Toolkit应运而生。

一个软件需要花费80%的生命周期成本去维护。  
几乎没有任何软件的整个生命周期仅由其原作者来维护。
编码规范改善软件的可读性,让工程师更快更彻底地理解新的代码。
如果你将源代码转变为一个产品,那么您需要确保它和你创建的其它产品一样是干净且包装良好的。

借用《Java编程语言代码规范》一段开场白,也许就解释了我们为什么需要编码规范。

无规矩不成方圆,无规范不能协作。阿里近万名Java技术开发者通过不断总结与提炼,并经历了多次大规模一线实战检验及完善,出版了众所周知的《阿里巴巴Java开发手册》,希望使更多的开发者团队在Java开发上更高效、容错、有协作性,提高代码质量并降低维护成本,而手册也尽可能涵盖开发常见环节,包括编程规约、单元测试规约、异常日志规约、MySQL规约、工程规约、安全规约等。

但对于很多人而言,手册始终无法直接应用在日常的开发工作中,如果有相应的IDE插件进行支持,那简直完美。因此,Cloud Toolkit应运而生。

Cloud Toolkit 集成了 Java 代码检查功能。该功能基于《阿里巴巴 Java 开发手册》中的代码规约,执行 Java 代码的静态检查,帮助您在编译前快速发现代码异常,并提供修改建议。

前提条件

已安装 2019.11.1 或更高版本的 Cloud Toolkit 插件。安装方法请参见
[• 在Eclipse中安装和配置Cloud Toolkit
](https://help.aliyun.com/document_detail/29970.html#task-1942357)
[• 在IntelliJ IDEA中安装和配置Cloud Toolkit
](https://help.aliyun.com/document_detail/98762.html#concept-29968-zh)

执行代码检查

1.在 IDE 的 Project 面板上左键单击要检查的工程文件,在弹出的菜单栏中选择 Alibaba Cloud > Coding Guidelines Check。p70195.png

如果您不想检查整个工程,也可以在工程的文件目录中选中想要检查的目录,在右侧代码编辑区域的空白处单击鼠标左键,选择 Alibaba Cloud > Coding Guidelines Check,进行检查。

2.在工程的文件目录区域下方会出现 Inspection Results 面板,可在面板下方看到代码检查进度。
Cloud Toolkit 默认将检查出的错误按照严重程度从高到低分为 Blocker、Critical、Major。Blocker 程度的错误可能会影响代码的成功编译。p70203.png

3.在 Inspection Results 面板的左侧区域显示错误信息目录。p70223.png
单击信息则右侧区域会显示错误代码,部分错误会提供快速修正建议,如下图中的标记 1 所示。Inspection Results 面板各区域功能说明如下。
• 上图标记 2:错误信息目录的最下级节点的行末显示错误代码所在行数 line XX。双击该级节点,则位于Inspection Results 面板上方的代码编辑区会定位到错误代码并高亮显示。
• 上图标记 3 区域内,从左至右,从上至下的按钮功能如下。
• Rerun Inspection:重新执行代码检查
• Group by Severity:按照错误严重程度分组错误信息
• Expand All:将错误信息目录展开至最下级
• Group by Directory:按照目录分组错误信息
• Collapse All:将错误信息目录收起至最上级
• Filter Resolved Items:过滤掉以及修改完成的错误
• Go Prev Problem:在错误目录区域移动至上一条错误
• Autocsroll to Source:打开此功能,在错误目录区域单击错误信息时,代码编辑区自动跳转到错误代码
• Go Next Problem:在错误目录区域移动至下一条错误
• Export:将错误信息导出至本地,可选择导出为 HTML 或 XML 格式
• Edit Settings:编辑错误代码检查的设置文件
• Apply Quickfix:使用快速修正
您可以使用快速修正功能修正代码,也可以手动修改代码。

当然,您可以通过各种形式获取Cloud Toolkit
获取方式:
• IntelliJ IDEA版/PyCharm版本:
https://plugins.jetbrains.com/plugin/11386-alibaba-cloud-toolkit
• Visual Studio Code版本:
https://marketplace.visualstudio.com/items?itemName=alibabacloud-cloudtoolkit.toolkit-vscode
• Eclipse 版本:
https://marketplace.eclipse.org/content/alibaba-cloud-toolkit
• Maven 版本:
https://help.aliyun.com/document_detail/108682.html
使用教程:
https://help.aliyun.com/document_detail/147728.html?spm=a2c4g.11186623.6.541.1958602bbDiHei

目录
相关文章
|
10天前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
60 6
|
12天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
25 4
|
14天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
37 4
|
19天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
20天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
37 2
|
20天前
|
监控 Java 数据库连接
在Java开发中,数据库连接管理是关键问题之一
在Java开发中,数据库连接管理是关键问题之一。本文介绍了连接池技术如何通过预创建和管理数据库连接,提高数据库操作的性能和稳定性,减少资源消耗,并简化连接管理。通过示例代码展示了HikariCP连接池的实际应用。
19 1
|
13天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
28 0
|
14天前
|
Java API Android开发
kotlin和java开发优缺点
kotlin和java开发优缺点
28 0
WK
|
19天前
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
38 0
WK
|
20天前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
35 0