为什么Angular Hint会为控制器和模块提供pascal套管名称?

时间:2014-12-10 15:16:10

标签: javascript angularjs batarang

看来Chrome的Batarang插件刚刚更新。添加了一项新功能Angular Hint,今天给了我一堆警告。并且有一条说明:

根据最佳做法命名控制器(9551)

控制器名称应以大写字符开头,并以后缀Controller结尾。例如:UserController。

  

考虑将homeController重命名为HomeController。

Haven我们Angular开发人员总是使用camel-cased名称作为JavaScript对象吗?任何人都可以告诉我们为什么Batarang更喜欢pascal案件?

还有更多问题:

  • 我们在哪里可以找到最新"最佳做法"?
  • 的文档
  • 如果我们不想遵循这个"最佳做法"对于现有的网络应用程序,如何转换那种类型的" Hints"?

1 个答案:

答案 0 :(得分:4)

Batarang建议这样做,因为控制器函数实际上是构造函数,构造函数按惯例开始 - 在JavaScript中使用大写字符。

这与其他人工制品不同,例如过滤器或服务。它们使用小写字符编写,因为它们不被视为构造函数。

对于控制器来说,它实际上很有意义,因为您可能希望在一个网站中拥有单个控制器的多个实例。

在JavaScript中,除了构造函数之外,它实际上是小写所有内容的最佳实践:这样开发人员知道何时使用new函数以及何时不使用它。根本问题是从技术上讲,JavaScript中的函数和构造函数之间没有区别。两者都只是函数,它们与this关键字的处理方式不同(这就是new在引擎盖下的影响。)

对于"最佳实践"部分......我和Angular documentation on how to define controllers一起去。在那里它说它是一个构造函数(尽管如此,它是非常隐藏的)。

关于如何关闭它...不,我很抱歉,我不知道这是否真的可行(如果是的话,我不知道如何)。另一方面,如果 IS 是一种常见的最佳实践,我建议您问问自己是否真的想采用不同的方法。