发表于: 2017-04-03 23:56:09

0 1351


43日完成的事情:

1总结

44日计划的事情:

1、修改代码

收获:

查询count继续改进

查询count时并不需要排序,但是考虑到getIdsByDynamicCondition方法仍需要传入startsize参数,专门测试了一下sql语句后面拼接上limit startsizecount查询的影响:

1)拼接上limit 0 5测试

结论:能正常查到结果

2)拼接上limit 5 5测试:

结论:不能查询到结果,

说明count查询是如果后面拼接了limit,就不能有偏移值,或者把偏移值固定为0,而sizecount其实是没影响的(我测试过了)因此controller中代码改进为:

这种写法也和别的项目相同。

 

2、打印日志问题

1)方法的入口处要把接收的参数打印出来,方面调试:

不管传入的参数有多复杂,最好都要用日志打印出来,这样和前端对接口时方便调试

2)判空操作是必要的,例如下面这个

通过id查到人才后,要对人才进行判空,因为并不能保证前端传递过来的id一定能查到人才。我这里如果判断为空后就打印一条日志:not get any talent,并返回前端该条信息

3)判空的正确使用方法

这种判空操作是不符合规范的,完全没有起到判空的作用,因为talent.getName()一旦空指针,if条件中并没有走到“==”后面程序就已经异常报错,这个属于java基础的内容了,当时写项目直接参考二期项目代码没有认真考虑,实在不该,正确的写法应该是:

3)判空的使用位置:

以删除人才信息接口为例:

 

4)逻辑代码中避免出现为定义的常量

如下:

对于这个规范,我现在能想到的一个原因是,专门在一个类中定义一些代码中用到的常量,然后在其他用到地方引用,这样做的好处是,一旦要改变这些常量值,只需要在定义的地方改一处,其他地方也相应的改变了,不至于一处一处查找再一处一处修改,

我这里的做法是在相应的model实体类中定义这些常量,主要常量的名字最后见明知意

5



返回列表 返回列表
评论

    分享到