angular2 代码风格指南(官方)

欢迎光临angular2风格指南

目的:本指南的目的是为开发Angular应用程序提供指导原则,展示我们所遵循的约定。

一、单一原则:

我们遵循单一职责原则来创建的所有组件、服务和其他标志等。这样能帮助我们把应用程序弄的干净整洁,易于阅读、维护和测试。

1.单一法则

风格01-01

坚持 每个文件之定义一样东西(比如服务或组件)。

考虑把每个文件限制在400行代码以内。

为何?单组件文件非常容易阅读、维护,并能防止在版本控制系统里与团队冲突

为何?单组件文件可以防止一些隐蔽的程序缺陷,当把多各组件合写在一个文件中时,可能造成共享变量、创建意外的闭包,或者与依赖之间产生意外耦合等情况。

为何?单独的组件通常是该文件默认的输出,这样就可以利用组件路由器实现按需加载。

最关键的是,可以增加代码可重用性和阅读性,减少出错的可能性。

切记: 

不要把多个组件定义在一个文件里!

定义文件:

组件: xx.component.ts 、数据模型: xx.model.ts、服务:xx.service.ts

2.小函数

风格01-02

坚持定义小函数

考虑限制在75行之内

为何?小函数更易于测试,特别是当它们只做一件事,只为一个目的服务的时候。

为何?小函数促进了代码的重用。

为何?小函数更加易于阅读。

为何?小函数更加易于维护。

为何?小函数帮助避免一些大函数容易产生的那些与外界共享变量、创建意外的闭包或与依赖之间产生意外耦合等隐蔽的错误。

二.命名约定

风格02-01

1.总体命名知道原则

坚持为所有符号使用一致的命名规则。

坚持遵循同一个模式来描述符号的特性和类型。推荐的模式为feature.type.ts。

为何?命名约定提供了一致的方法来帮助我们一眼锁定内容。在整个项目内保持一致性是至关重要的。在团队内保持一致性也很重要。在公司内部保持一致性可以大幅提高效率。

为何?命名约定最直接的目的是:帮我们快速找到代码并让它们更容易理解。

为何?目录和文件的名字应该清楚的说明他们的用途。比如 app/heroes/hero-list.compooment.ts包含了一个用来维护英雄列表的组件。

2.使用点和横杠来分割文件名

风格02-02

坚持在描述性名字里面,使用横杠来分隔单子。

坚持使用点来分隔描述名字和类型名。

坚持对所用组件使用一致的类型命名规则,遵循这个模式:先描述组件的特性,在描述它的类型。推荐的模式为feature.type.ts。

为何?类型名字提供一致的方法来快速的识别文件是什么。

为何?可以让我们利用编辑器或者 IDE 的模糊搜索功能,很容易的找到特定文件。

为何?没有被简写的类型名字比如.service很有描述性,不含糊。 简写可能造成混淆,比如.srv,.svc, 和.serv。

为何?与自动化任务的模式匹配。

3.组件与指令命名

风格02-03

坚持为所有东西使用一致的命名约定:以它们所代表的东西命名。

坚持使用大写驼峰命名法来命名所有符号(类)。保持符号的名字与他所在的文件名字相同。

坚持把符号的类型(比如组件、服务、指令等)附件到符号名的后面。

为何?提供前后一致的方法迅速辨识和引用东西。

为何?大写驼峰命名法约定用来辨识出那些可用过构造函数来实例化的对象。

为何?Component后缀是常见的用法,它具有精准的描述性。

4.服务名

风格02-04

坚持使用前后一致的命名规则来命名服务,以它们的特性来命名。

坚持使用大写驼峰命名法来命名服务。

坚持当不能从它们的名字里清楚的看出它们是什么的时候(比如它们的名字是名词时),添加service后缀。

为何?提供前后一致的方法来快速识别和引用服务。

为何?清楚的服务名,比如Logger不需要后缀。

为何?如果服务名字是名词时,比如Credit,需要一个后缀。当名字不能很明显的标示出它是服务还是其它东西的时候,应该添加后缀。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容