Сонарная проблема. Задания не должны быть избыточными (Squid: S4165). - PullRequest
0 голосов
/ 21 октября 2019
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 ()

Сведения о выпуске сонара

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;

1 Ответ

1 голос
/ 22 октября 2019

Параметр emp будет передан по ссылке в метод updateMobile & Email, что означает, что в назначении строки 2 нет необходимости.

Я предлагаю обновить updateMobile & Email, чтобы он имел тип возврата void.

...