转至元数据结尾
转至元数据起始

走查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 是否为空呢?


那,当如何解题呢???



编写评论...