我的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,也没有想法如何解决它。
答案 0 :(得分:2)
计算复杂性的方式应该由下一个插件版本更改(参见https://jira.sonarsource.com/browse/SONARJS-729)。
答案 1 :(得分:0)
为什么不在mainFunction外部移动firstEventHandler和secondEventHandler?
如果您尝试实现信息隐藏,可以使用ES6类或使用模块模式而不是嵌套函数。