为什么 Angular Hint 建议控制器和模块的帕斯卡大小写名称

Why Angular Hint suggests pascal cased names for controller and modules?

本文关键字:帕斯卡 大小写 模块 Hint Angular 控制器 为什么      更新时间:2023-09-26

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

根据最佳实践的名称控制器 (9551(

控制器

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

请考虑将 homeController 重命名为 HomeController。

我们 Angular 开发人员不是总是对 JavaScript 对象使用驼峰大小写的名称吗?任何人都可以告诉我们为什么巴塔朗更喜欢帕斯卡案?

还有更多问题:

  • 我们在哪里可以找到最新"最佳实践"的文档?
  • 如果我们不想对现有的 Web 应用程序遵循这种"最佳实践",那么如何打开这种类型的"提示"?

Batarang提出了这个建议,因为控制器函数实际上是构造函数,而构造函数 - 按照惯例 - 在JavaScript中以大写字符开头。

这与其他工件(如筛选器或服务(不同。它们是使用小写字符编写的,因为它们不被视为构造函数。

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

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

对于"最佳实践"部分...我会使用 Angular 文档来了解如何定义控制器。在那里它说它是一个构造函数(尽管,说真的,它是隐藏的(。

至于如何关闭它...不,对不起,我不知道这是否真的可能(如果是这样,我不知道该怎么做(。另一方面,我建议问问自己,你是否真的想以不同的方式做这件事,是否有一个共同的最佳实践。