这篇文章主要介绍了TypeScript编码规则有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
命名
-
使用
PascalCase
方式对类进行命名. -
接口命名中不要使用前缀字母
I
. -
使用
PascalCase
方式对枚举值进行命名. -
使用
camelCase
方式对函数进行命名. -
使用
camelCase
方式对属性和本地变量进行命名. -
私有属性命名不要使用前缀
_
. -
尽可能在命名中使用整个单词 .
组件
-
每个逻辑组件一个文件 (例如: parser, scanner, emitter, checker).
-
不要添加新文件. :)
-
带有".generated.*"后缀的文件是自动生成的,不要手动去修改.
类型
-
除非您需要跨多个组件共享,否则不要导出类型/函数.
-
不要向全局命名空间引入新类型/值.
-
共享类型应在
types.ts
中定义. -
在文件中,应首先输入类型定义.
`null` 和 `undefined`
-
使用
undefined
, 不要使用null
.
一般假设
-
将节点,符号等对象视为创建它们的组件之外的不可变对象。 不要改变它们。
-
创建后,默认情况下将数组视为不可变.
类
-
为保持一致性,请不要在核心编译器管道中使用类。 请改用函数闭包.
标志
-
应该将类型上超过2个相关的布尔属性转换为标志。
注释
-
对函数,接口,枚举和类使用JSDoc样式注释。
字符串
-
使用双引号.
-
用户可见的所有字符串都需要进行本地化(在diagnosticMessages.json中创建一个条目)。
诊断信息
-
在句子末尾使用句号.
-
对不确定的实体使用不定的文章.
-
应该命名确定的实体(这是为变量名,类型名等等。).
-
在陈述规则时,主题应该是单数的 (e.g. "An external module cannot…" instead of "External modules cannot…").
-
使用现在时.
诊断消息代码
诊断分为一般范围。 如果添加新的诊断消息,请使用大于相应范围中最后使用的数字的第一个整数。
-
1000 句法消息的范围
-
2000 用于语义消息
-
4000 用于声明发出消息
-
5000 用于编译器选项消息
-
6000 用于命令行编译器消息
-
7000 对于noImplicitAny消息
一般构造
出于各种原因,我们避免某些结构,并使用我们自己的一些结构。 其中:
-
不要使用
for..in
语句; 相反,使用ts.forEach
,ts.forEachKey
和ts.forEachValue
。 请注意它们的语义略有不同。 -
当它不是非常不方便时,尝试使用
ts.forEach
,ts.map
和ts.filter
而不是循环。
风格
-
使用箭头函数而不是匿名函数。必要时仅限制环绕箭头功能参数。例如,
(x)=> x + x
错误,但以下是正确的: -
x => x + x
-
(x,y) => x + y
-
<T>(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 { }
-
每个变量语句使用一个声明
(i.e. 使用var x = 1; var y = 2;
而不是var x = 1, y = 2;
). -
else
与闭合的大括号分开. -
每个缩进使用4个空格.
感谢你能够认真阅读完这篇文章,希望小编分享的“TypeScript编码规则有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/225669.html