缺少规范意识
缺少规范意识, 缺少规范意识, 缺少规范意识,说三遍
多余的类引用
IDEA快捷键:Ctrl+Alt+O,可自动删除多余引用

java引入使用 import …*
参考配置:

单行代码长度超过120个字符
参考配置:

定义了未使用的变量、对象

代码不格式化
快捷键:Ctrl+Alt+L,自动格式化代码

多余的分号、括号

保留无效/弃用的代码/空方法
注释掉的内容或临时代码等
属性无必要的文档注释
汉语博大精深,定义同一个意义的属性,不同的人可能用不同的单词,为避免歧义,最好加上注释说明

错误注释、无注释
出于【迎合】文档规范,有的同学会复制其他类的注释给另一个类,对应的说明信息、作者、时间等要素也奉行拿来主义不做改动
单词拼写错误、错别字

复杂交易无必要的日志打印
排查定位问题时将无从下手
Logger使用不是自身类
复制的锅,不怪我

日志打印参数时使用字符串拼接、System.out.println
应使用日志类配合占位符

不太恰当的方法使用
易引发NPE、逻辑取反等
//反例,存在NPE的集合判空
if (req.getBillIds().size() == 0) {
//todo
}
//存在NPE的字符串判空
if (req.getAcctNo.isEmpty()) {
//todo
}
// ---------------------------分割线
//正例
if (CollectionUtils.isEmpty(req.getBillIds())) {
//todo
}
if (StringUtils.isEmpty(req.getAcctNo)) {
//todo
}
if (ObjectUtils.isEmpty(obj)) { // 可通用于集合、字符串、数组等的判空
//todo
}
//----------------------------分割线
//反例,非空判断,容易丢失的惊叹号
if (!CollectionUtils.isEmpty(req.getBillIds())) {
//todo
}
//正例,易于理解的非空判断
if (CollectionUtils.isNotEmpty(req.getBillIds())) {
//todo
}
BigDecimal 比较相等
//反例
if (new BigDecimal("1").equals(new BigDecimal("1.0"))) {
//todo
}
//正例
if (new BigDecimal("1").compareTo(new BigDecimal("1.0")) == 0) {
//todo
}
类不分包存放
各功能模块的类全在一个包下
复杂方法/交易缺少必要的注释
我是谁?我在哪?我要干什么?
日志、业务异常跑错中占位符数量与所传参数不匹配

避免出现万能组件、万能BO、过长的类和方法
或者一个项目的所有代码全写在一个类里?
中英符号混用
通常是在日志打印、消息说明中出现,通常中文符号比英文符号【宽】一些,英文符号出现在中文中时会显得【瘦小】
复制粘贴式开发
对于他人已经产出的不规范代码,仍然效仿或直接复制过来修改
魔法值的使用
- 有枚举的用枚举
- 无枚举的定义静态属性
其他
以上内容仅供参考,还请批评指正!
本文强调了代码规范的重要性,列举了常见的代码不规范问题,如多余的引用、未使用的变量、不格式化的代码、错误注释等,并提供了相应的解决建议,如使用IDE快捷键进行优化、避免NPE、正确使用日志及比较操作。同时提醒开发者注意类的组织结构、注释清晰性和避免复制粘贴式开发。
238

被折叠的 条评论
为什么被折叠?



