实习第二十二天(java)
作者:互联网
今天宣布了昨天的bug暂时还是不解决了之后,今天我就可以去着手一下前两天分配给我的一个bug。这个bug是两个模块统计同一数据的时候结果不一致,在已知其中一个是正确的情况下,修改另一模块的代码来实现两个模块的一致。
通过查询结果的详细信息,初步认为出错模块的问题在于sql使用的字段有误。通过页面发送的url,在代码中定位到对应的controller,再在controller中查看使用到的service和dao层最后锁定到对应的sql语句上,将之前错误的字段改成正确模块使用的字段。在将出错模块的5个接口的代码都更正之后,把模块打包,然后在对应的服务里面替换jar,重启服务。
这次更正的结果是,我修复bug的模块不像之前一样比正确模块少,而是比正确模块还多。再查看了所有显示的数据的时间之后,我的推测是代码中查询时间范围的地方出了问题。进入代码找到对应的根据前端页面的选项来选择时间范围的函数。对这个函数进行单元测试,根据结果可以判断是计算时间范围的函数出了问题。这个函数的错误在于误解了时间范围的定义,比方说我要计算出当前时间七天前的时间,这个函数的算法是用当前天数减去7然后将时分秒设置为0 0 0,正确的结果是直接将当前时间的天数减去7而不动时分秒。
再更正了时间计算的函数之后,进行测试,模块这次的结果符合了正确模块的结果,这次的bug算是初步的修复。
通过这次bug的修复,我觉得在编码的时候,必须得有充分的沟通,比如说这个bug,一个是时间字段用错,一个是时间范围理解错误,这些都是理解方面的问题。所以说编码不求快,必须在编码之前充分的交流,遇到疑问也要积极去问,不要怕麻烦别人。
标签:第二十二,java,函数,代码,时间,模块,实习,bug,正确 来源: https://blog.csdn.net/AXKDD6555/article/details/119393149