1、字符串拼接问题
一般带有复杂逻辑的字符串拼接,建议使用StringBuilder和StringBuffer,两者的区别

image.png
2、有常量时,字符串相等方法.equals()
一般使用常量在前
优雅:"target".equals(data.getTarget());
不优雅:data.getTarget().equals("target");

image.png
3、字符串是否控制判断
优雅:StringUtils.isEmpty(getCatalogueDirectoryVo.getName());
不优雅:null != getCatalogueDirectoryVo.getName() && !"".equals(getCatalogueDirectoryVo.getName())

image.png
4、魔法值问题——错误码

image.png
5、service代码缩减问题

image.png
原因:跨层调用, A service层中直接调用B模块或实体的dao层,造成本A service处理了大量B的业务逻辑,造成代码过长
解决方法:每个entity对应一个service,使用其他entity时,只调用该entity的service,而不是dao
6、无关传参

image.png
影响代码结构和整体架构
7、if没有大括号

image.png
8、主键参数和外键参数必须表名所属实体

image.png

image.png