变量名使用"isXXX"导致的BUG

问题提出

做一个外卖项目时,先开发的前端,其中boolean类型的变量,变量名全部采用了"isXXX"的形式。

然后开发后端,boolean类型的变量名也全部是"isXXX"。

看起来一切正常,然后前后端对接。

变量名使用 01 前端的变量名

 

变量名使用 02 后端的变量名

 

对接时,前端检查接收到的对象,发现了一个问题。

变量名使用 03 "isSeeMore"变成了"seeMore","isUnderRevision"变成了"underRevision"

 

"isSeeMore"变成了"seeMore","isUnderRevision"变成了"underRevision"

 

问题寻找

最开始百思不得其解,开始在网上检索。最终一篇知乎的文章解答了疑惑:

为什么阿里巴巴禁止开发人员使用 “isSuccess” 作为变量名?

04 《阿里巴巴Java开发手册》强制禁止使用“isXXX”作为变量名

 

细节可以看链接中那篇文章,一个大坑。

文章评论区一位知乎网友说的好:

变量名使用 05 知乎网友评论,赞同

 

学习英语,规范格式!

 

问题解决

有一个暂时的简便方法,参考自(https://blog.csdn.net/weixin_39297312/article/details/80353512):

1. 在get方法(如果是boolean类型的字段 就在boolean)上面加入@JsonProperty(value = “isClassId”)注解

2. 手动修改get方法名(如果是boolean类型的 就把boolean)改为getIsClassId

3. set方法的处理同上

博主所参与的项目,先开发的前端,其中boolean类型的变量,变量名全部采用了"isXXX"的形式,暂时使用简便办法修复了。如果想真正解决这个问题。只能进行变量名大换血,重构。希望大家可以警惕这个坑,注意规范格式。

你可能感兴趣的:(React,Java,SSM,变量名规范,前后端对接,Java,前端)