如何在这样的javascript代码中获得圈复杂度?

时间:2016-07-27 09:04:11

标签: javascript sonarqube cyclomatic-complexity

我的javascript存在一些复杂问题。它看起来像:

 function mainFunction(scope, element) {
        var eventHandlerMap = {
            'firstEvent': firstEventHandler,
            'secondEvent': secondEventHandler,
            .....
        };

        function firstEventHandler(element) {
            if (element) {
                //some code
            } else {
                //some code
            }
        }
        function secondEventHandler(element) {
            //some code
        }
        //and other EventHandler functions
}

现在mainFunction的复杂度为41,但我的声纳允许不超过10.我不擅长javascript,也没有想法如何解决它。

2 个答案:

答案 0 :(得分:2)

计算复杂性的方式应该由下一个插件版本更改(参见https://jira.sonarsource.com/browse/SONARJS-729)。

答案 1 :(得分:0)

为什么不在mainFunction外部移动firstEventHandler和secondEventHandler?

如果您尝试实现信息隐藏,可以使用ES6类或使用模块模式而不是嵌套函数。