我遇到了一些标准,基本上说应该指定角度指令和控制器中的所有函数。我不是在谈论控制器或指令中的命名函数,我在调用指令的行中讨论。
我通常会这样写的例子:
angular.module('myModule',[])
.directive('myDirectiveName', function (){
return{
controller: function($scope){
//some code
}
}
});
本指南如何要求撰写:
angular.module('myModule',[])
.directive('myDirectiveName', function directiveInit(){
return{
controller: function controllerInit($scope){
//some code
}
}
});
显然,这里的差异是directiveInit
和controllerInit
。
这有什么意义?是为了更好的调试错误?我知道不需要它。这会让事情变得更容易吗?这是一种角度特定的做法吗?
编辑:我可以使用更好的标题吗?我觉得这个标题不能准确地反映我的要求。答案 0 :(得分:3)
即使看起来不需要命名,也能很好地命名功能,这是可维护性修复的一种做法。
其中之一是使函数可跟踪,用于调试和分析工具。在分析代码以跟踪性能问题时,您最好知道函数的名称,否则您只会看到anonymous function
,这对您的性能分析活动没什么帮助。
其他原因是代码可读性的改进,特别是对于团队而言。例如,在angularjs(v1.x)中,指令经常被声明为:
(function(){
angular
.module('myModule')
.directive('myDirectiveName', myDirectiveName);
function myDirectiveName(){
function controllerInit($scope){
//some code
}
return{
controller: controllerInit
}
}
})();
在我看来,这比匿名指令构造函数更容易阅读。此外,它更容易处理封装和东西。