代码优化switch examineDataSource case BASE_DATA return unionAllRelationAppraiseesfindExamineBasicAppraiseesappraiseesConfig activityId g - findExamineBasicByE
可以将重复的代码提取出来,将不同的部分作为参数传入。可以尝试如下的优化:
switch (examineDataSource) {
case BASE_DATA:
return unionAllRelationAppraisees(findExamineBasicAppraisees(appraiseesConfig, activityId),
(g) -> findExamineBasicByEmpGroup(g, activityId), empGroupId);
case EXAMINER_APPRAISEES_DATA:
return unionAllRelationAppraisees(findEvaluationAppraisees(appraiseesConfig, activityId),
(g) -> findEvaluationAppraiseesByEmpGroup(g, activityId), empGroupId);
default:
break;
}
private ReturnType unionAllRelationAppraisees(List<Appraisee> appraisees, Function<String, List<Appraisee>> findAppraiseesByEmpGroup, String empGroupId) {
// 其他代码逻辑
// ...
return returnType;
}
private List<Appraisee> findExamineBasicAppraisees(AppraiseesConfig appraiseesConfig, String activityId) {
// 具体实现
// ...
return appraisees;
}
private List<Appraisee> findExamineBasicByEmpGroup(String empGroupId, String activityId) {
// 具体实现
// ...
return appraisees;
}
private List<Appraisee> findEvaluationAppraisees(AppraiseesConfig appraiseesConfig, String activityId) {
// 具体实现
// ...
return appraisees;
}
private List<Appraisee> findEvaluationAppraiseesByEmpGroup(String empGroupId, String activityId) {
// 具体实现
// ...
return appraisees;
}
通过将相同的代码提取出来,然后根据参数的不同来调用不同的方法,可以减少代码冗余,并提高代码的可读性和可维护性
原文地址: http://www.cveoy.top/t/topic/iXEQ 著作权归作者所有。请勿转载和采集!