如何在这样的javascript代码中处理循环复杂性
How procced cyclomatic complexity in such javascript code?
我的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,也不知道如何修复它。
计算复杂性的方式应在下一个插件版本中更改(请参阅https://jira.sonarsource.com/browse/SONARJS-729)。
为什么不将firstEventHandler和secondEventHandler移到mainFunction之外?
如果您试图实现信息隐藏,可以使用ES6类或使用模块模式,而不是嵌套函数。
相关文章:
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在为表单输入分别处理$(this)和$时编写DRY代码
- 为什么我的.blur()代码只处理第二个模糊
- 即使被信号处理程序中断,node.js代码也会一直运行到完成吗
- 通过从文本区域获取代码,在画布中运行处理代码
- 将处理代码链接到 javascript,同时保持 pde 文件的独立
- 处理由无法访问的代码创建的来自Webworker的消息
- 如何删除DOM事件处理程序的重复JavaScript代码
- Promise处理程序中的同步代码
- Don'在追加后,我无法处理jQuery代码
- 为什么事件处理程序要等到触发代码完成执行
- 在提交和处理PHP代码后禁用提交按钮(使用AJAX提交?
- AJAX自定义错误处理代码问题
- javascript去模糊处理-这段代码的作用
- 是什么阻止querySelectorAll处理此代码中具有相同类的所有元素
- HttpCompileException未被用户代码处理(当我在脚本中添加c#代码时)
- 浏览器的代码处理
- 代码处理(客户端而不是在服务器上)
- 重构代码——处理它的通用方法