File tree 1 file changed +132
-0
lines changed
content/blog/typescript-code-style-convention 1 file changed +132
-0
lines changed Original file line number Diff line number Diff line change
1
+ ---
2
+ title : TypeScript 代码风格与约定
3
+ date : ' 2023-11-23T11:05:15.844Z'
4
+ description : 本文摘抄《深入理解 TypeScript》中的代码风格指南与代码约定
5
+ ---
6
+
7
+ ## 变量和函数
8
+
9
+ 使用 camelCase 形式为变量和函数命名。原因:JavaScript 的惯例。
10
+
11
+ - 好的命名方式
12
+
13
+ ``` ts
14
+ var fooVar;
15
+ function barFunc() {}
16
+ ```
17
+
18
+ - 不好的命名方式
19
+
20
+ ``` ts
21
+ var FooVar;
22
+ function BarFunc() {}
23
+ ```
24
+
25
+ ## 类 (Class)
26
+
27
+ 使用 PascalCase 形式为类命名。原因:在标准的 JavaScript 中通常是这么做的。
28
+
29
+ - 好的命名方式
30
+
31
+ ``` ts
32
+ class Foo {}
33
+ ```
34
+
35
+ - 不好的命名方式
36
+
37
+ ``` ts
38
+ class foo {}
39
+ ```
40
+
41
+ 类的属性和方法使用 camelCase 方式进行命名。原因:自然地遵循变量和函数命名的约定。
42
+
43
+ - 好的命名方式
44
+
45
+ ``` ts
46
+ class Foo {
47
+ bar: number ;
48
+ baz() {}
49
+ }
50
+ ```
51
+
52
+ - 不好的命名方式
53
+
54
+ ``` ts
55
+ class Foo {
56
+ Bar: number ;
57
+ Baz() {}
58
+ }
59
+ ```
60
+
61
+ ## 接口 (interface)
62
+
63
+ 使用 PascalCase 形式为接口命名。原因:和类相同。
64
+
65
+ 接口成员使用 camelCase 方式进行命名。原因:和类的成员使用相同方式进行命名。
66
+
67
+ - 好的命名方式
68
+
69
+ ``` ts
70
+ interface Foor {}
71
+ ```
72
+
73
+ - 不好的命名方式
74
+
75
+ ``` ts
76
+ interface IFoor {}
77
+ ```
78
+
79
+ ## 类型别名 (type)
80
+
81
+ 类型别名使用 PascalCase 形式进行命名。原因:和类相同。
82
+ 类型别名成员使用 camelCase 形式进行命名。原因:和类的成员使用相同方式进行命名。
83
+
84
+ ## 命名空间 (namespace)
85
+
86
+ 命名空间使用 PascalCase 形式进行命名。原因:遵循 TypeScript 团队惯例,命名空间实际上只是一个具有静态成员的类,类的命名形式是 PascalCase,因此,命名空间的命名形式也是 PascalCase。
87
+
88
+ - 好的命名方式
89
+
90
+ ``` ts
91
+ namespace Foo {}
92
+ ```
93
+
94
+ - 不好的命名方式
95
+
96
+ ``` ts
97
+ namespace foo {}
98
+ ```
99
+
100
+ ## 枚举类型 (enum)
101
+
102
+ 枚举类型使用 PascalCase 形式进行命名。原因:和类相同。
103
+
104
+ - 好的命名方式
105
+
106
+ ``` ts
107
+ enum Color {}
108
+ ```
109
+
110
+ - 不好的命名方式
111
+
112
+ ``` ts
113
+ enum color {}
114
+ ```
115
+
116
+ 枚举类型成员使用 PascalCase 形式进行命名。原因:遵循 TypeScript 团队惯例,例如 SyntaxKind.StringLiteral,这也有助于将其他语言的代码生成转换为 TypeScript 代码。
117
+
118
+ - 好的命名方式
119
+
120
+ ``` ts
121
+ enum Color {
122
+ Red
123
+ }
124
+ ```
125
+
126
+ - 不好的命名方式
127
+
128
+ ``` ts
129
+ enum Color {
130
+ red
131
+ }
132
+ ```
You can’t perform that action at this time.
0 commit comments