private void updateEmployee(String employeeCode, UpdateUserDto updateUserDto){
Employee emp = getEmpDetails(employeeCode);
emp = updateMobile&Email(emp, updateUserDto.getMobile(), updateUserDto.getMail());
// Remove this useless assignment; "emp" already holds the assigned value along all execution paths.
...
...
emp.setisActive(updateUserDto.getIsActive());
empRepo.save(emp);
}
private Employee updateMobile&Email(Employee emp, String mobile, String mail){
if(emp.getMobile() == null && (mobile != null || mobile.isBlank())){
emp.setMobile(mobile);
}
if(emp.getMail() == null && (getMail != null || getMail.isBlank())){
emp.setMail(mail);
}
return emp;
}
由于连接复杂性,我做了一些功能。仅以上面的代码为例
删除此无用的分配; “ emp”已经在所有执行路径中保存了分配的值。
在updateEmployee()的第2行
声纳问题详细信息
Assignments should not be redundant (squid:S4165)
Noncompliant
a = b;
c = a;
b = c; // Noncompliant: c and b are already the same
Compilant
a = b;
c = a;
答案 0 :(得分:1)
emp参数将通过引用传递到updateMobile&Email方法中,这意味着第二行的分配是不必要的。
我建议更新updateMobile&Email以使其具有无效的返回类型。