走查zhongtai-task代码时发现一个问题。
先看下面的方法调用关系
① TaskJobProxy#updateTaskStatus | ② TaskLevyReviewServiceImpl#levyAudit | |
↘ | ↙ | |
③ TaskApplyServiceSync#auditCreateTaskApplySync(TaskVO,...) |
---|
然后,看方法③所调用的部分方法。
③ TaskApplyServiceSync#auditCreateTaskApplySync | ||
---|---|---|
↙ | ↘ | |
④ TaskApplyServiceSync#batchSaveTaskApply(TaskVO,...) | ⑤ RecommendService#bosskgRecommend(TaskVO) |
说明:
- 方法③接收的一个参数是 TaskVO对象,并将这个对象向下传递给 方法④ 和⑤。
- TaskVO 有一个field叫 industryTypeName。方法④ 和 ⑤ 都用到了它。其中,方法 ⑤ 里判断了 industryTypeName为空的情况,而④未判断。
- 再回头说方法①和②。 方法①未对 industryTypeName 赋值。方法②有对 industryTypeName 赋值。
问题来了,方法④显然出现bug了。
那么,如何解决这个bug?
哪里出问题就解决哪里。 ------->修改方法④,做成与方法⑤那样,加上判断 industryTypeName为空的情况。
试想,假如日后需求迭代,要求方法③再调用一个方法⑥,同样传递 TaskVO对象,⑥里同样会用到 industryTypeName。 谁会注意 industryTypeName 是否为空呢?
那,当如何解题呢???
添加评论