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

2.1 KiB
Raw Blame History

基础代码规范 [JsTs.Base]

下面是 JS/TS 的代码规范

常量名使用大写加下划线命名UPPER_CASE单词间以下划线分隔 [JsTs.Base.ConstUpperCase]

  • 不检查 nodejs 的导包定义,比如 const fs = require("fs")

Good

const MAX_COUNT = 100;

Bad

const maxCount = 100;

函数名使用小驼峰命名 [JsTs.Base.FuncLowerCamel]

Good

function getUserInfo() {
  // ...
}

Bad

function getuserinfo() {
  // ...
}

禁止使用字面量魔法字符串和魔法数字 [JsTs.Base.NoMagicStringsAndNumbers]

  • 只检查数字字面量和字符串字面量,不要检查其他(比如 布尔字面量)
  • 无需检查单词是否完整拼写
  • throw 的错误信息无需审查
  • new Error 的错误信息无需审查
  • console.log 的打印代码无需审查
  • console.error 的错误信息无需审查
  • console.warn 的错误信息无需审查
  • console.info 的错误信息无需审查
  • console.debug 的错误信息无需审查
  • console.trace 的错误信息无需审查
  • 无需考虑类型是否合理匹配

Good

const MAX_COUNT = 100;
const USER_STATUS = {
  ACTIVE: "active",
  INACTIVE: "inactive",
};

Bad

const maxCount = 100;
const userStatus = "active";

class 和 interface 命名使用大驼峰命名 [JsTs.Base.ClassUpperCamel]

Good

class UserInfo {
  // ...
}

Bad

class userinfo {
  // ...
}

变量名使用小驼峰命名 [JsTs.Base.VarLowerCamel]

Good

let userName = "John";

Bad

let username = "John";

单文件代码不超过 700 行 [JsTs.Base.CodeNotMoreThan700Lines]

Good

// 代码不超过 700 行

Bad

// 代码超过 700 行

单个函数或方法不能超出 200 行 [JsTs.Base.FuncNotMoreThan200Lines]

Good

function getUserInfo() {
  // ... 小于等于 200
}

Bad

function getUserInfo() {
  // ... 大于 200
}