Files
code-spec/specs/js&ts.base.md

131 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 基础代码规范 `[JsTs.Base]`
下面是 JS/TS 的代码规范
## 常量名使用大写加下划线命名UPPER_CASE单词间以下划线分隔 `[JsTs.Base.ConstUpperCase]`
### 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
}
```