Skip to content

Latest commit

 

History

History
60 lines (48 loc) · 3.59 KB

codestyle.md

File metadata and controls

60 lines (48 loc) · 3.59 KB

来源:Angular中文网-风格指南
由于使用的技术有限,故只选取了其中的一部分内容。

###单一职责 ####单一规则

  • 坚持每个文件只定义一样东西(例如服务或组件)。
  • 考虑把文件大小限制在 400 行代码以内。

####小函数

  • 坚持定义简单函数
  • 考虑限制在 75 行之内。

###命名 ####总体命名原则

  • 坚持所有符号使用一致的命名规则。
  • 坚持遵循同一个模式来描述符号的特性和类型。推荐的模式为 feature.type.ts。

####使用点和横杠来分隔文件名

  • 坚持在描述性名字中,用横杠来分隔单词。
  • 坚持使用点来分隔描述性名字和类型。
  • 坚持遵循先描述组件特性,再描述它的类型的模式,对所有组件使用一致的类型命名规则。推荐的模式为 feature.type.ts。
  • 坚持使用惯用的后缀来描述类型,包括 .service、.component、*.pipe、.module、.directive。 必要时可以创建更多类型名,但必须注意,不要创建太多。

####符号名与文件名

  • 坚持为所有东西使用一致的命名约定,以它们所代表的东西命名。
  • 坚持使用大写驼峰命名法来命名类。符号名匹配它所在的文件名。
  • 坚持在符号名后面追加约定的类型后缀(例如 Component、Directive、Module、Pipe、Service)。
  • 坚持在符号名后面追加约定的类型后缀(例如 .component.ts、.directive.ts、.module.ts、.pipe.ts、.service.ts)。
  • 坚持在文件名后面追加约定的类型后缀(例如 .component.ts、.directive.ts、.module.ts、.pipe.ts、.service.ts)。

####服务名

  • 坚持使用一致的规则命名服务,以它们的特性来命名。
  • 坚持为服务的类名加上 Service 后缀。 例如,获取数据或英雄列表的服务应该命名为 DataService 或 HeroService。 有些词汇显然就是服务,比如那些以“-er”后缀结尾的。比如把记日志的服务命名为 Logger 就比 LoggerService 更好些。需要在你的项目中决定这种特例是否可以接受。 但无论如何,都要尽量保持一致。

####组件选择器

  • 坚持使用中线命名法(dashed-case)或叫烤串命名法(kebab-case)来命名组件的元素选择器。

###应用程序结构与 NgModule ####LIFT

  • 坚持组织应用的结构,力求:快速定位 (Locate) 代码、一眼识别 (Identify) 代码、 尽量保持扁平结构 (Flattest) 和尝试 (Try) 遵循 DRY (Do Not Repeat Yourself, 不重复自己) 原则。
  • 坚持四项基本原则定义文件结构,上面的原则是按重要顺序排列的。

####定位

  • 坚持直观、简单和快速地定位代码。

####识别

  • 坚持命名文件到这个程度:看到名字立刻知道它包含了什么,代表了什么。
  • 坚持文件名要具有说明性,确保文件中只包含一个组件。

####扁平

  • 坚持尽可能保持扁平的目录结构。
  • 考虑当同一目录下达到 7 个或更多个文件时创建子目录。
  • 考虑配置 IDE,以隐藏无关的文件,例如生成出来的 .js 文件和 .js.map 文件等。

####总体结构的指导原则

  • 坚持从零开始,但要考虑应用程序接下来的路往哪儿走。
  • 坚持有一个近期实施方案和一个长期的愿景。
  • 坚持把所有源代码都放到名为 src 的目录里。
  • 坚持如果组件具有多个伴生文件 (.ts、.html、.css 和 .spec),就为它创建一个文件夹。