看来Chrome的Batarang插件刚刚更新。添加了一项新功能Angular Hint
,今天给了我一堆警告。并且有一条说明:
根据最佳做法命名控制器(9551)
控制器名称应以大写字符开头,并以后缀Controller结尾。例如:UserController。
考虑将homeController重命名为HomeController。
Haven我们Angular开发人员总是使用camel-cased名称作为JavaScript对象吗?任何人都可以告诉我们为什么Batarang更喜欢pascal案件?
还有更多问题:
答案 0 :(得分:4)
Batarang建议这样做,因为控制器函数实际上是构造函数,构造函数按惯例开始 - 在JavaScript中使用大写字符。
这与其他人工制品不同,例如过滤器或服务。它们使用小写字符编写,因为它们不被视为构造函数。
对于控制器来说,它实际上很有意义,因为您可能希望在一个网站中拥有单个控制器的多个实例。
在JavaScript中,除了构造函数之外,它实际上是小写所有内容的最佳实践:这样开发人员知道何时使用new
函数以及何时不使用它。根本问题是从技术上讲,JavaScript中的函数和构造函数之间没有区别。两者都只是函数,它们与this
关键字的处理方式不同(这就是new
在引擎盖下的影响。)
对于"最佳实践"部分......我和Angular documentation on how to define controllers一起去。在那里它说它是一个构造函数(尽管如此,它是非常隐藏的)。
关于如何关闭它...不,我很抱歉,我不知道这是否真的可行(如果是的话,我不知道如何)。另一方面,如果 IS 是一种常见的最佳实践,我建议您问问自己是否真的想采用不同的方法。