133 lines
2.1 KiB
Markdown
133 lines
2.1 KiB
Markdown
# 基础代码规范 `[JsTs.Base]`
|
||
|
||
下面是 JS/TS 的代码规范
|
||
|
||
## 常量名使用大写加下划线命名(UPPER_CASE),单词间以下划线分隔 `[JsTs.Base.ConstUpperCase]`
|
||
|
||
- 不检查 nodejs 的导包定义,比如 `const fs = require("fs")`
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
const MAX_COUNT = 100;
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
const maxCount = 100;
|
||
```
|
||
|
||
## 函数名使用小驼峰命名 `[JsTs.Base.FuncLowerCamel]`
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
function getUserInfo() {
|
||
// ...
|
||
}
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
function getuserinfo() {
|
||
// ...
|
||
}
|
||
```
|
||
|
||
## 禁止使用字面量魔法字符串和魔法数字 `[JsTs.Base.NoMagicStringsAndNumbers]`
|
||
|
||
- 只检查数字字面量和字符串字面量,不要检查其他(比如 布尔字面量)
|
||
- 无需检查单词是否完整拼写
|
||
- throw 的错误信息无需审查
|
||
- new Error 的错误信息无需审查
|
||
- console.log 的打印代码无需审查
|
||
- console.error 的错误信息无需审查
|
||
- console.warn 的错误信息无需审查
|
||
- console.info 的错误信息无需审查
|
||
- console.debug 的错误信息无需审查
|
||
- console.trace 的错误信息无需审查
|
||
- 无需考虑类型是否合理匹配
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
const MAX_COUNT = 100;
|
||
const USER_STATUS = {
|
||
ACTIVE: "active",
|
||
INACTIVE: "inactive",
|
||
};
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
const maxCount = 100;
|
||
const userStatus = "active";
|
||
```
|
||
|
||
## class 和 interface 命名使用大驼峰命名 `[JsTs.Base.ClassUpperCamel]`
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
class UserInfo {
|
||
// ...
|
||
}
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
class userinfo {
|
||
// ...
|
||
}
|
||
```
|
||
|
||
## 变量名使用小驼峰命名 `[JsTs.Base.VarLowerCamel]`
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
let userName = "John";
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
let username = "John";
|
||
```
|
||
|
||
## 单文件代码不超过 700 行 `[JsTs.Base.CodeNotMoreThan700Lines]`
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
// 代码不超过 700 行
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
// 代码超过 700 行
|
||
```
|
||
|
||
## 单个函数或方法不能超出 200 行 `[JsTs.Base.FuncNotMoreThan200Lines]`
|
||
|
||
### Good
|
||
|
||
```javascript
|
||
function getUserInfo() {
|
||
// ... 小于等于 200
|
||
}
|
||
```
|
||
|
||
### Bad
|
||
|
||
```javascript
|
||
function getUserInfo() {
|
||
// ... 大于 200
|
||
}
|
||
```
|