Javascript SonarQube рефакторинг этой функции, чтобы уменьшить ее когнитивную сложность - PullRequest
0 голосов
/ 03 октября 2018

Для функции JavaScript ниже я пытаюсь выяснить, как уменьшить когнитивную сложность.

function Person(data) {
    var self = this;
    if (data) {
        self.id = data.Id === null? "" : data.Id;
        self.name = data.Name === null? "" : data.Name;
        self.phone= data.Phone === null? "" : data.Phone;
        self.address = data.Address=== null ? "" : data.Address;
    } else {
        self.id = "";
        self.name = "";
        self.phone = "";
        self.address = "";
    }
}

1 Ответ

0 голосов
/ 03 октября 2018

Может быть, что-то вроде этого:

function Person(data) {
    var self = this;

    self.id = "";
    self.name = "";
    self.phone = "";
    self.address = "";

    if (data) {
        self.id = getValueOrDefault(data.Id);
        self.name = getValueOrDefault(data.Name);
        self.phone = getValueOrDefault(data.Phone);
        self.address = getValueOrDefault(data.Address);
    }
}

function getValueOrDefault(value) {
    return value === null ? "" : value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...