带你读《2022技术人的百宝黑皮书》——开发规约的意义与细则(7)

简介: 带你读《2022技术人的百宝黑皮书》——开发规约的意义与细则(7)

带你读《2022技术人的百宝黑皮书》——开发规约的意义与细则(6)https://developer.aliyun.com/article/1339984?groupCode=taobaotech


使用插件工具复查

 

目前,Alibaba Java Code Guidelines 插件实现了开发手册中的的 53 条规则,大部分基于 PMD 实现,其中有 4 条规则基于 IDEA 实现,并且基于 IDEA Inspection 实现了实时检测功能。部分规则实现了 Quick Fix 功能。目前,插件检测有两种模式:实时检测、手动触发。

IDEA 插件地址:https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines插件检查结果说明:

 

 

 

Blocker 、Critical 、Major 错误等级说明

image.pngBlocker: 即系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。严重花屏

image.png内存泄漏

image.pngimage.png用户数据丢失或破坏系统崩溃/死机/冻结

image.pngimage.png模块无法启动或异常退出严重的数值计算错误

image.png功能设计与需求严重不符

image.png其 它 导 致 无 法 测 试 的 错 误 ,        如 服 务 器 500 错 误 Critical:即影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。

image.pngimage.png功能未实现功能错误

image.pngimage.png系统刷新错误数据通讯错误

image.png轻微的数值计算错误

image.pngimage.png影响功能及界面的错误字或拼写错误安全性问题

Major:即界面、性能缺陷、兼容性。

image.pngimage.png操作界面错误(包括数据窗口内列名定义、含义是否一致) 边界条件下错误

image.pngimage.png提示信息错误(包括未给出信息、信息提示错误等) 长时间操作无进度提示

image.png系统未优化(性能问题)

image.pngimage.png光标跳转设置不好,鼠标(光标)定位错误兼容性问题

image.pngMinor/Trivial:即易用性及建议性问题。界面格式等不规范

image.png辅助说明描述不清楚

image.png操作时未给用户提示

image.pngimage.png可输入区域和只读区域没有明显的区分标志个别不影响产品理解的错别字

image.png文字排列不整齐等一些小问题

 

 

 

总结:Blocker > Critical > Major > Minor > Trivial

Blocker,Critical是必须要修改的,Major根据具体建议情况参考处理,Minor和Trivial可以根据建议情况修补或者不修补。

 

常见插件一览

 

  1. 快捷键提示工具:Key promoter X

Key Promoter X 是一个快捷键提示插件,如果鼠标操作是能够用快捷键替代,Key Promoter X 会提示可以用什么快捷键替代。详细使用文档,参考:https://plugins.jetbrains.com/plugin/9792-key-promoter-x

  1. 代码注解插件:Lombok

lombok 的使用,参考 :https://projectlombok.org/。我们需要在代码中引入二方库,然后安装 lombok 插件即可。

  1. 代码生成工具:CodeMaker

开发过程中,经常手工编写重复代码。现在,可以通过 CodeMaker 来定义 Velocity 模版来支持自定义代码模板来生成代码。目前,CodeMaker   自带两个模板。Model:根据当前类生成一个与其拥有类似属性的类,用于自动生成持久类对应的领域类。Converter:该模板需要两个类作为输入的上下文,用于自动生成领域类与持久类的转化类。详细使用文档,参考:https://github.com/x-hansong/CodeMaker

  1. 单元测试测试生成工具:JUnitGenerator

单元测试是必不可少的!我们可以使用 JUnitGenerator 插件来自动创建了单元测试。我们可以使用提供的velocity 模板定制单元测试输出代码。如果在已经存在单元测试的地方创建了单元测试,则会提示用户进行覆盖或合并操作。合并操作允许用户有选择地创建目标文件内容。详细使用文档,参考https://plugins.jet-brains.com/plugin/3064-junitgenerator-v2-0

  1. Mybatis 工具:Free Mybatis plugin

现在,MyBatis 框架已占领半壁江山。因此,围绕着 MyBatis 的插件和工具越来越多。Free Mybatis plugin 非 常 方 便 进 行 Mapper 接 口 和 XML 文 件 之 间 跳 转 。 详 细 使 用 文 档 , 参 考 : https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin。此外,收费版的还有 Mybatis plugin。

  1. Maven辅助神器:Maven Helper

如果 Maven 引入的 jar 包有冲突,可以使用 Maven Helper 插件来帮助分析。详细使用文档,参考: https://plugins.jetbrains.com/plugin/7179-maven-helper

  1. JSON转领域对象工具:GsonFormat

在开发过程中,我们可能会遇到 json 格式的字符串转换成实体类参数的场景,这个插件可以根据 JSONOb- ject 格式的字符串,自动生成实体类参数。详细使用文档,参考https://github.com/zzz40500/GsonFor-mat

 

 

 

  1. 领域对象转JSON工具:POJO to JSON

为了测试需要,我们需要将简单 Java 领域对象转成 JSON 字符串方便用 postman 或者 curl 模拟数据。详细使用文档,参考:https://plugins.jetbrains.com/plugin/9686-pojo-to-json

  1. 时序图生成工具:SequenceDiagram

有的时候,我们需要梳理业务逻辑或者阅读源码。从中,我们需要了解整个调用链路,反向生成 UML 的时序图是强需求。其中,SequenceDiagram 插件是一个非常棒的插件。详细使用文档,参考:https://plugins.-jetbrains.com/plugin/8286-sequencediagram

  1. 字符串工具:String Manipulation

String Manipulation 插件提供了非常丰富字符串工具,例如命名替换 (camelCase, kebab-lowercase, KEBAB-UPPERCASE, snakecase, SCREAMINGSNAKE_CASE, dot.case, words lowercase, Words Capita lized ,P ascal Case)等。详细使用文档,参考:h ttp s://p lu gin s.je tb ra in s.co m/plu g- in/2162-string-manipulation

  1. 代码作色工具:Rainbow Brackets

Rainbow Brackets 插件可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能。详细使用文档, 参考:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

  1. 日志工具:Grep Console

参考:https://plugins.jetbrains.com/plugin/7125-grep-console不同级别日志通过颜色区分,一路了然。

  1. Redis可视化:Iedis

参考:https://plugins.jetbrains.com/plugin/9228-iedis 使用参考:https://codesmagic.com/iedis/us-erguide/getting-started 可方便的执行增删查改及使用命令行进行操作。

  1. 中英文翻译工具:Translation

最骚的操作是什么?帆哥在群里分享了一套「半中文编程」:说到了变量命名,先用中文写好,然后用Translation 插件的 translate and replace 一键替换为英文,这样效率高而且准确。详细使用文档,参考: https://plugins.jetbrains.com/plugin/8579-translation

 

带你读《2022技术人的百宝黑皮书》——开发规约的意义与细则(8)https://developer.aliyun.com/article/1339981?groupCode=taobaotech

相关文章
|
机器学习/深度学习 数据采集 监控
大模型开发:描述一个典型的机器学习项目流程。
机器学习项目涉及问题定义、数据收集、预处理、特征工程、模型选择、训练、评估、优化、部署和监控。每个阶段都是确保模型有效可靠的关键,需要细致操作。
479 0
|
存储 Kubernetes Java
SpringBoot整合MinIO
MinIO是一款基于Go语言开发的高性能、分布式的对象存储系统,开源可商用。一开始就被设计为服务于私有云、公有云、混合云,因此在高可用、可扩展性、高性能方面有得天独厚的优势。 MinIO完全实现了AWS S3 标准,在日常使用、扩展升级、迁移方面更易于管理,对于上层应用程序来说,存储和访问对象是统一的,即使MinIO服务迁移了,应用程序侧是无感知的。 MinIO分三个版本,开源版、标准版、企业版,开源版本免费使用,后面两个为付费产品。MinIO支持多种部署环境:Kubernetes、Docker、Linux、MacOS、Windows
889 1
SpringBoot整合MinIO
|
机器学习/深度学习 人工智能 数据挖掘
数据上新 | AI Earth上线长时序土地覆盖数据集(来自武汉大学黄昕教授团队)
数据上新 | AI Earth上线长时序土地覆盖数据集(来自武汉大学黄昕教授团队)
数据上新 | AI Earth上线长时序土地覆盖数据集(来自武汉大学黄昕教授团队)
|
消息中间件 Java 中间件
秒懂消息队列MQ,万字总结带你全面了解消息队列MQ
消息队列是大型分布式系统不可缺少的中间件,也是高并发系统的基石中间件,所以掌握好消息队列MQ就变得极其重要。接下来我就将从零开始介绍什么是消息队列?消息队列的应用场景?如何进行选型?如何在Spring Boot项目中整合集成消息队列。
26294 10
秒懂消息队列MQ,万字总结带你全面了解消息队列MQ
|
1月前
|
人工智能 JavaScript Ubuntu
5分钟上手龙虾AI!OpenClaw部署(阿里云+本地)+ 免费多模型配置保姆级教程(MiniMax、Claude、阿里云百炼)
OpenClaw(昵称“龙虾AI”)作为2026年热门的开源个人AI助手,由PSPDFKit创始人Peter Steinberger开发,核心优势在于“真正执行任务”——不仅能聊天互动,还能自动处理邮件、管理日程、订机票、写代码等,且所有数据本地处理,隐私完全可控。它支持接入MiniMax、Claude、GPT等多类大模型,兼容微信、Telegram、飞书等主流聊天工具,搭配100+可扩展技能,成为兼顾实用性与隐私性的AI工具首选。
28468 125
|
4月前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器收费标准:今年最新价格表,ECS、轻量和GPU云服务器报价清单
阿里云今年最新云服务器租用优惠价格表,这个月的价格和上个月持平,阿小云整理最新优惠价格:依旧是轻量应用服务器200M峰值带宽68元1年(秒杀38元),ECS云服务器2核2G3M带宽99元一年、2核4G、5M带宽、80G系统盘优惠价格199元一年,4核16G服务器10M带宽89元1个月,8核32G服务器10M固定带宽160元一个月,阿里云香港轻量服务器200M带宽25元个月起。
|
5月前
|
人工智能 决策智能
清华大学“Al+经管 零基础玩转大模型”AI Day举办成功丨云工开物
2025年11月13日,清华经管学院CDC联合阿里云举办“AI+经管”AI day,百余名学生参与。活动通过“讲座+实践”形式,聚焦大模型在经管领域的应用,涵盖金融智能体、多智能体协同、零代码数据看板等实战内容,助力学生掌握AI技能,推动AI与专业融合,提升数智时代竞争力。
|
8月前
|
机器学习/深度学习 运维 分布式计算
人脸动态识别与管理系统:智能安防技术
本系统采用前沿算法与架构设计,具备精准识别、极速响应与稳定运行特性,专为高密度人流场景打造。支持超大规模人脸管理。
349 31
人脸动态识别与管理系统:智能安防技术
|
9月前
|
数据采集 JSON API
Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
本文介绍如何利用智能体与Python代码批量处理Excel中的脏数据,解决人工录入导致的格式混乱、逻辑错误等问题。通过构建具备数据校验、异常标记及自动修正功能的系统,将数小时的人工核查任务缩短至分钟级,大幅提升数据一致性和办公效率。
2670 23
|
人工智能 关系型数据库 分布式数据库
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
842 0

热门文章

最新文章