【问题标题】:Why Angular Hint suggests pascal cased names for controller and modules?为什么 Angular Hint 建议控制器和模块使用帕斯卡大小写的名称?
【发布时间】:2015-02-08 20:30:55
【问题描述】:

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

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

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

考虑将 homeController 重命名为 HomeController。

我们的 Angular 开发人员不是一直使用驼峰式命名的 JavaScript 对象吗?谁能告诉我们为什么 Batarang 更喜欢 pascal 案例?

还有更多问题:

  • 在哪里可以找到最新“最佳实践”的文档?
  • 如果我们不想为现有的网络应用遵循这种“最佳实践”,如何转换那种类型的“提示”?

【问题讨论】:

  • Batarang 可以在chrome://extensions/ 下关闭。无论如何,当我从控制台检查范围时,不分青红皂白的提示垃圾邮件使扩展对我毫无用处。
  • 我现在完全卸载了它。
  • 我认为 Batarang 又更新了。现在有一个复选框可以启用/禁用 Batarang。我们不必完全卸载它。

标签: javascript angularjs batarang


【解决方案1】:

Batarang 建议这样做,因为控制器函数实际上是构造函数,并且构造函数开始 - 按照约定 - 在 JavaScript 中以大写字符开头。

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

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

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

对于“最佳实践”部分……我会选择 Angular documentation on how to define controllers。那里说它是一个构造函数(虽然,说实话,它很隐蔽)。

至于如何关闭它……不,对不起,我不知道这是否真的可能(如果是,我不知道如何)。另一方面,我建议您问问自己,您是否真的想以不同的方式做这件事,是否有是否一种常见的最佳做法。

【讨论】:

  • 谢谢,戈洛。这确实有道理。您知道在哪里可以找到“最佳实践”文档吗?我们怎样才能暂时禁用Angular Hint? (我的 Chrome 控制台现在充斥着 Angular 提示警告。
  • 更新了我的答案,希望对您有所帮助:-)
  • PS:我的 Chrome 的控制台也进水了,新的 Batarang 版本破坏了一些网站(包括 Angular 官方网站本身的菜单),所以我禁用了它。反正我从来没用过很多。
  • 呃。 Batarang 也在杀死我的页面。
猜你喜欢
  • 2020-12-22
  • 2015-10-10
  • 2021-01-03
  • 2011-02-15
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多