一尘不染

为什么在AngularJS中定义控制器时不使用显式注释?

angularjs

我是AngularJS的新手,正在学习编写控制器函数的两种样式。似乎某人不使用显式注释的唯一原因是节省时间,这似乎不是一个好理由。能够最小化/混淆代码似乎是我想要保留在任何应用程序中的要求。

另请注意,我并不是在问哪个更好,也不是在辩论。我在问什么原因(或在什么情况下) 使用显式注释会更有利。

我正在谈论的示例:

module('myApp').controller('MyController', function($scope) {});

module('myApp').controller('MyController', ['$scope', function($scope) {}]);

阅读 200

收藏
2020-07-04

共1个答案

一尘不染

直列排列注释是简单地在Java脚本限制的解决办法,使角码进行微细化以及不停止工作。但这不是一个很好的解决方案,因为如果强制您 重复
代码。我们都知道重复代码有多糟糕。Angular文档本身承认:

使用这种类型的注释时,请注意使注释数组与函数声明中的参数保持同步。

添加新的依赖关系而忘记添加相应的注释太容易了。或对参数重新排序而忘记更新注释列表。相信我。去过也做过。

幸运的是,有一些聪明人开发的工具,它们通过自动注释代码来减轻我们的负担。如@pankajparkar所提到的,可能最著名的是ng-
annotate
。您所要做的就是将其插入到构建过程中,您的代码将被正确注释。

老实说,我发现Angular文档建议不要采用这种方法确实很奇怪。

2020-07-04