【Java】让你的代码变成模板,统一代码风格

汝之观览,吾之幸也!在一个团队中,可能每个人员的代码风格不一致,例如if,else的分行等,
这可能导致每次在格式化的时候会有冲突,为了避免不一致的代码风格出现的问题,特统一如下配置。

一、idea插件安装

File->Settings->Plugins

1、Alibaba Java Coding Guidelines

作用:阿里巴巴编码规范指南
使用:在类文件中右键->编码规约扫描(快捷键Ctrl + Alt + Shift +J)
可根据显示的Ali-Check、Major、Critical、Blocker 中提示的问题进行修改

2、CamelCase

作用:更改变量的大小写,缩写
使用:快捷键 Shift + Alt + U 可更改名称的大小写与缩写
可在Editor->Camel Case进行配置

二、代码强制规范(列举开发中遇到的常用场景)

编码格式化快捷键 Ctrl + Alt + L

1、常量命名。多个单词需要加下划线分割

2、单词需要拼写正确,不可使用中英文混合

3、避免非必要的变量定义

4、方法或者变量名使用驼峰法命名

5、一个方法不能超过80行,根据单一职责原则拆分方法

6、重复代码需要进行拆分出去

7、字符串拼接需要使用StringBuilder

8、针对返回的数据需要合理定义,如返回map、list等,变量命名就是xxxMap、xxxList

9、HashMap初始化需要指定大小,默认可指定16

10、集合泛型后不加指定类型,如Map<String,Object> testMap = new HashMap<>(16);

11、类名、方法名、内部成员变量、成员变量需要加上注释

12、判断列表大小不用.size()方法,使用.isEmpty()方法

13、BigDicimal初始化不要是Double类型,需为字符串。

如经纬度 BigDecimal lngDecimal = new BigDecimal(String.valueOf(lng));

二、idea配置

File->Settings->Editor

1、CodeStyle设置代码超过120列自动换行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-abPcSM9f-1679999597080)(https://jimmy-blog-images.oss-cn-shanghai.aliyuncs.com/img/java120%E8%A1%8C.png)]

2、CodeStyle->Java->Tabs and Indents 中设置tab为四个空格

3、CodeStyle->Java->Wrapping and Braces中设置if else、try catch的换行

4、CodeStyle->Java->Imports中导入类import不允许导入*

5、File and Code Templates->Files中设置类注释

Files下的Class、Interface、Enum文件
Code下的Junit4 Test Class文件
参考注释:

/**
 * <p>Title: ${NAME}</p>
 * <p>
 * Description:
 * </p>
 *
 * @author Jimmy.Shen
 * @version 1.0.0
 * @since ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE}
 **/

6、Live Templates中设置方法注释

(1)新增myGroup
(2)新增Live Templates
(3)进行配置注释
参考注释:

** 
 * 
 * @author JimmyShen
 * @date $date$ $time$ 
 $param$
 $return$
 */

(4)配置模板对应的文件类型 Define->Java
(5)配置参数值 Edit variables 勾选Skip if defined
date 配置 date()
time 配置 time()
param 配置

groovyScript("def result = '';def params = "${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {if(params[i] != '')result+='* @param ' + params[i] + ' ' +((i < params.size() - 1) ? '\r\n ' : '')}; return result == '' ? null : result", methodParameters())

return 配置

groovyScript("def returnType = "${_1}"; def result ='';if(returnType=='null'||returnType=='void'){return;}else{result += '* @return ';cls = returnType.split('<');for(i = 0; i < cls.size(); i++){temp = cls[i].tokenize('.');result += temp[temp.size() - 1] + ((i < cls.size() - 1) ? '<' : '');};return result + ' ';}", methodReturnType());

之后在方法上输入/** + Enter即可生产方法注释

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>