java开发规范笔、兼容性、代码扫描
2026/8/7 17:08:41 网站建设 项目流程

文章目录

      • 使用equals或==时,常量在前面
        • 优点:
      • 兼容性代码
      • random变量静态化
      • 接口路径规范(重)
      • 功能位置规范
        • 为什么不推荐使用行尾注释
    • 如何让代码强大
      • 兼容性
        • 复杂业务时弄清步骤?
    • 代码扫描

之前特别讨厌规范类的东西,觉得这些东西没用。但是在做过一定项目回过来看,发现是有价值的。

其实不管是否察觉到,日常开发中也一直在使用规范,例如controller是应用层,service是服务层,命名用驼峰等。

使用equals或==时,常量在前面

正确示范:

if("1".equals(string)&&"0".equals(string2)){System.out.println("yes");}

错误示范:

// 错误的示范if(!StringUtils.isEmpty(string)&&"1".equals(string)&&!StringUtils.isEmpty(string2)&&"0".equals(string2)){System.out.println("yes");}

以上2个例子,效果一样,但是第二个代码更冗杂丑陋。 如果是变量在前,那么第二种也没问题,但是常量在前,有效的避免了null.equals报错的问题。所以不用加isEmpty判断了。

优点:

1、避免了null.equals报错。
2、避免了== 写成 =。(判断符号 错写成 赋值符号)

兼容性代码

很多代码都是复制的。 由于历史原因,对接系统的大小写不一致。
例如: 对接系统的返回报文有的是success 有的是SUCCESS。
如果要求统一改为大写或小写要协调多方系统。所以还是自己改最方便:

string.equals("success");兼容为:string.equalsIgnoreCase("success");
string.contains("success");兼容为: string.toLowerCase().contains("success");

random变量静态化

random类的创建是比较耗时的,可以初始化一次,后续只调用方法。效率会高些。
直接用:

publicvoidtest(){newRandom().nextBoolean()}

静态化:

privatestaticRandomrandom=newRandom();publicvoidtest(){random.nextBoolean();}

接口路径规范(重)

/interface # 对外接口
/api # 界面功能
/h5 # app端
/api/test # 用于自测的功能,/test的位置看着来就行,能明确区分出来是测试接口即可 重

功能位置规范

例如接口controller放到interface包下,这样一目了然,在统计有几个接口时也很方便。

建议:
接口路径和功能位置结合使用,这样更清楚。

实际确实踩过这个坑,一个功能,对外接口在用,web端在用,h5端也在用,到时候梳理的时候理都理不清楚

建议接口路径规范和功能位置规范结合使用,就比较整齐了。

为什么不推荐使用行尾注释

1、重构时注释不能同步更新。
2、行尾空间太小,写不了多少注释,要么太少,要么换行,体验都不好。
3、无效注释 # 简单说就是废话注释,一眼就看的懂的代码不用加注释,如果复杂度不高的代码还要加注释可以考虑优化代码而不是加注释
4、代码审查时行尾注释容易被忽略,容易只关注到功能代码而忽视注释。

如何让代码强大

老鸟必备,兼容性是很重要的一点。
例如:
比较两个的值是否相等。
a 是Long
b 是String

错误写法(当b为空时报错)if(a.equals(Long.parseLong(b))){}推荐写法(自带判空逻辑)if(Objects.equals(a,b)){}

这种写法更可控,否则到处埋坑。

兼容性

复杂业务时弄清步骤?

需求很复杂,数据多且一堆校验,代码写起来乱糟糟。

这确实是个问题,一堆代码谁看谁复杂。后来解决方案也很简单,步骤梳理清楚,分为几大块

1、查询基础数据并组装(含校验)
2、动态拼接业务数据
3、调用第三方接口

这样就很清楚了,哪一步出了问题都很好排查。

这让我想起冷了大模型训练中,如何快速定位问题?
通过架构和机制来解决是最好的方案

代码扫描

以前总认为代码扫描是多余的,后来遇到过一些事情,看法逐渐有了改观。

import导入多余的包# 建议还是去掉好,清爽
发现逻辑错误# 例如字段赋错值,不得不服,这还真时个bug,扫描的时候还没修复,后来我自己发现了修掉了,所以印象深刻

也就是说,代码扫描不但能使代码更规范,还兼具发现逻辑错误的能力,越来越强了,现在的代码扫描可信度超过了90%,正向收益还是蛮高的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询