# 基础代码规范 `[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 } ```