美文网首页
TypeScript编码规范

TypeScript编码规范

作者: 小山雀 | 来源:发表于2017-03-09 15:48 被阅读0次

引用自:http://wiki.jikexueyuan.com/project/typescript/coding-guidelines.html
这个编码规范是给TypeScript开发团队在开发TypeScript时使用的。 对于使用TypeScript的普通用户来说不一定适用,但是可以做为一个参考。

命名:

  • 使用PascalCase为类型命名。
  • 不要使用I做为接口名前缀。
  • 使用PascalCase为枚举值命名。
  • 使用camelCase为函数命名。
  • 使用camelCase为属性或本地变量命名。
  • 不要为私有属性名添加_前缀。
  • 尽可能使用完整的单词拼写命名。

组件

  • 1个文件对应一个逻辑组件 (比如:解析器,检查器)。
  • 不要添加新的文件。 :)
  • .generated.*后缀的文件是自动生成的,不要手动改它。
    类型
  • 不要导出类型/函数,除非你要在不同的组件中共享它。
  • 不要在全局命名空间内定义类型/值。
  • 共享的类型应该在types.ts里定义。
  • 在一个文件里,类型定义应该出现在顶部。

null和undefined:

  • 使用undefined,不要使用 null。

一般假设

  • 假设像Nodes,Symbols等这样的对象在定义它的组件外部是不可改变的。不要去改变它们。
  • 假设数组是不能改变的。

  • 为了保持一致,在核心编译链中不要使用类,使用函数闭包代替。

标记

  • 一个类型中有超过2个布尔属性时,把它变成一个标记。

注释

  • 为函数,接口,枚举类型和类使用JSDoc风格的注释。

字符串

  • 使用双引号""
  • 所有要展示给用户看的信息字符串都要做好本地化工作(在diagnosticMessages.json中创建新的实体)。

错误提示信息

  • 在句子结尾使用.。
  • 对不确定的实体使用不定冠词。
  • 确切的实体应该使用名字(变量名,类型名等)
  • 当创建一条新的规则时,主题应该使用单数形式(比如:An external module cannot...而不是External modules cannot)。
  • 使用现在时态。
  • 错误提示信息代码
  • 提示信息被划分类成了一般的区间。如果要新加一个提示信息,在上条代码上加1做为新的代码。
    1000 语法信息
    2000 语言信息
    4000 声明生成信息
    5000 编译器选项信息
    6000 命令行编译器信息
    7000 noImplicitAny信息

普通方法

  • 由于种种原因,我们避免使用一些方法,而使用我们自己定义的。
  • 不使用ECMAScript 5函数;而是使用core.ts这里的。
  • 不要使用for..in语句;而是使用ts.forEach,ts.forEachKey和ts.forEachValue。注意它们之间的区别。
  • 如果可能的话,尝试使用ts.forEach,ts.map和ts.filter代替循环。

风格

  • 使用arrow函数代替匿名函数表达式。
  • 只要需要的时候才把arrow函数的参数括起来。
  • 比如,(x) => x + x是错误的,下面是正确的做法:
x => x + x
(x,y) => x + y
(x: T, y: T) => x === y
  • 总是使用{}把循环体和条件语句括起来。
  • 开始的{总是在同一行。
  • 小括号里开始不要有空白.
  • 逗号,冒号,分号后要有一个空格。比如:
for (var i = 0, n = str.length; i < 10; i++) { }
if (x < 10) { }
function f(x: number, y: string): void { }
  • 每个变量声明语句只声明一个变量
    (比如 使用var x = 1; var y = 2;而不是var x = 1, y = 2;)。
  • else要在结束的}后另起一行。

相关文章

  • TypeScript编码规范

    引用自:http://wiki.jikexueyuan.com/project/typescript/coding...

  • TypeScript编码规范

    目的与声明 我们的目的是通过统一专业术语、统一规格标准的方式来提高团队整体协作的效率。 我们尊重每个成员的编码习惯...

  • TypeScript代码检查

    对于Typescript项目的编码规范而言,主要有两种选择ESLint和TSLint。ESLint不仅能规范js代...

  • 前端开发文档规范

    HTML 编码规范 请查看HTML编码规范 CSS 编码规范 请查看CSS编码规范 JavaScript 编码规范...

  • 编码规范(一)越是建议的编码规范越会令团队纠结

    所属文章系列及序号:寻找尘封的银弹:编码规范(一) 我见过很多编码规范,例如C++编码规范、Java编码规范、C+...

  • 前端开发规范(实验室版)

    前端编码规范—— HTML 篇 前端编码规范—— CSS 篇 前端编码规范—— JavaScript 篇 这几天和...

  • Objective-C 编码规范

    目录 编码规范Chinamobo 编码规范补充代码规范注释前缀引入其他文件类中属性定义空行和空格 编码规范 Chi...

  • CSS综合

    HTML编码规范CSS编码规范 垂直居中代码

  • Android编码规范

    Android开发代码规范相关系列文章: Android命名规范 Android编码规范 Android编码规范有...

  • iOS 编码规范

    Table of Contents iOS 编码规范1 文件规范1.1 文件编码1.2 文件命名2 编码格式2.1...

网友评论

      本文标题:TypeScript编码规范

      本文链接:https://www.haomeiwen.com/subject/wrawgttx.html