【问题标题】:Javascript SonarQube refactor this function to reduce its Cognitive ComplexityJavascript SonarQube 重构此函数以降低其认知复杂度
【发布时间】:2019-03-08 01:47:45
【问题描述】:

对于下面的 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 = "";
    }
}

【问题讨论】:

    标签: javascript sonarlint


    【解决方案1】:

    可能是这样的:

    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;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-19
      • 1970-01-01
      • 2021-09-11
      • 2021-07-01
      • 1970-01-01
      • 2021-10-31
      • 1970-01-01
      • 2018-06-08
      • 2021-03-14
      相关资源
      最近更新 更多