Angular JS命名约定($,camelCase和PascalCase)

gle*_*ebm 24 angularjs

AngularJS中为$提供商添加前缀的约定是什么?我应该在自己的代码中为所有自定义服务加前缀吗

看起来像角度附带的所有东西都有前缀服务,例如$http.但是,控制器$在大多数文章中都没有前缀.此外,所有角度代码都带有命名的服务camelCase,但我也在PascalCase许多在线博客中看到过.惯例是哪一个?

dem*_*isx 21

  1. 使用PascalCase的控制器和用于其返回应该是newed,例如构造函数的功能var user = new User().Angular中的控制器被视为范围构造函数 - 因此是PascalCase.

  2. 控制器应Controller附加其名称.有关命名示例,请参见http://demisx.github.io/angularjs/2014/09/14/angular-what-goes-where.html.

  3. 使用camelCase了一切.

这些遵循世界各地的开发人员习惯的重要Javascript约定.


cat*_*key 19

文档陈述了内部服务的这个约定,但也声明你不应该为自己的服务做这件事以减少命名冲突.

http://docs.angularjs.org/guide/concepts#angular_namespace

另外,关于camelCase,文档说使用camelCase.

Angular使用name-with-dashes作为属性名称,使用camelCase作为相应的指令名称

http://docs.angularjs.org/tutorial/step_00

  • 我猜测,因为控制器被认为是"类",因为它们在每次使用时都是"新的",而服务是单例,通常需要返回"实例".但是,没有什么可以阻止您将构造函数作为服务返回,因此在这种情况下使用PascalCase来区分它可能是有意义的. (8认同)
  • 在文档中,他们使用camelCase来处理大多数事情(无论出于何种原因除了控制器),所以我想说这是要走的路. (4认同)
  • 它说的是指令,但是服务和工厂以及类似的东西呢? (3认同)
  • 名称应该以"服务"结尾吗?这不是太冗长了吗? (2认同)