公司项目问题总结
要注意性能方面问题:
1.比如在验证器中,如果你一个验证器中可以借用另外一个验证器的时候,尽量借用该验证器的优势,这样可以提高代码的性能。
2.调用参数的时候,尽量一部到位,尽量不要使用一个变量先对参数进行接收,然后再把该变量作为参数进行传入,这样会占用较大的存储空间,严重影响性能。
3.判断存不存在的时候,这里借用mybatis-plus来说。如果是查询库中是否含有数据的时候,这个时候尽量使用count(即查询符合条件的数据条数),这样比直接查出所有数据来性能更加得高。
代码规范问题
1.尽量少使if-else来嵌套语句,因为这种写法对阅读代码很困难。这个使用我们应该使用卫语句(即使用多条if语句代替多重嵌套得if-else),这样可以提高代码的阅读性,提高开发人员的工作效率。
2.即使if判断条件下只有一条语句,也必须使用{ }括起来。遵循阿里巴巴代码规范。
3.对于返回值为void的方法,直接将方法注释中的void删除。遵循阿里巴巴代码规范。
4.对于IDEA提供的代码警告,需要将警告进行解决。(因为人家给的警告时有意义的,对你的代码有好处,比如性能提升方面,代码规范方面)
安全问题
1.对于会对数据库数据影响的操作,需要非常谨慎。(臂如ADD DELETE UPDATE)操作。一定要清除其中每个方法参数不同时对数据产生的影响。
2.mybatis-plus中的updateById进行更新时,如果传入的对象中不包含id,则会默认将所有的数据都更新。这点一定要非常谨慎。
为空判断问题
对于使用List(或其他集合)接收数据库的数据时,如果要进行为数据为空判断,可以使用Collections.isEmpty()进行判断。如果拆分的话,就是需要进行null和size判断。而通过Collections.isEmpty()则可以快速解决者两者的判断。
业务层请求问题
1.幂等性:常用的请求方法中:POST、Delete、Put、Get中后面3个是幂等性的。
2.对于请求时,如果是幂等性的请求,需将诸如id、userId这些参数放到请求url中。对于post请求,需将所有请求参数放入body中(遵循Http规范)