Dan*_*ing 26 javascript angularjs sonarqube
我一直在寻找使用SonarQube对一些javascript代码进行质量检查,但这段代码是使用AngularJS编写的.
其中一个SonarQube规则检查函数中的行数 - 这似乎是合理的 - 但在AngularJS中,函数用于定义控制器,服务和指令,并且这些函数可以变得非常大.从概念上讲,它们更像是类定义,其他函数嵌套在它们中.
理想情况下,我希望SonarQube检查内部函数的长度,并可能排除内部函数的外部函数,但我不知道有什么方法可以做到这一点.
有没有其他人使用SonarQube和AngularJS遇到这个问题,或者有人知道一个好的解决方案吗?
一种解决方案是在自执行函数中单独声明所有方法。
(function(){
var controller = function(dependency){
//...
},
someDirective = function(dependency){
//...
},
//Finally, your module
module = angular.module("MyMod", []);
module.controller("MyController", ['dependency', controller]);
module.directive("someDirective", ['dependency', someDirective]);
}());
Run Code Online (Sandbox Code Playgroud)
对于某些开发人员来说,这绝对是一种不舒服的模式,但它是 SonarQube 将函数分解为更小部分的一种方法。
归档时间: |
|
查看次数: |
8735 次 |
最近记录: |