tslint angular 常用规则中文注释说明

tslint 代码规范,tslint angular 常用规则中文注释说明:

{
  "rulesDirectory": [
    "node_modules/codelyzer"
  ],
  "rules": {
    "arrow-return-shorthand": true, // 允许使用箭头函数返回的简略写法
    "callable-types": true, // 只有调用签名的接口或文字类型可以写为函数类型
    "class-name": true, // 类名采用帕斯卡命名法
    "comment-format": [ // 行注释双斜杠后注释内容前加一个空格
      true,
      "check-space"
    ],
    "curly": true, // if/for/do/while 条件语句加花括号
    "deprecation": { //
      "severity": "warn"
    },
    "eofline": true, // 文件以单空行结束
    "forin": true, // for...in 需要做 hasOwnProperty 判断,推荐使用其他遍历方法
    "import-blacklist": [ // 第三方库可模块化导包的,导入子模块
      true,
      "rxjs",
      "rxjs/Rx"
    ],
    "import-spacing": true, // import 语句关键词间加空格
    "indent": [ // 行首缩进,空格缩进 2 格
      true,
      "spaces",
      2
    ],
    "interface-over-type-literal": true,
    "label-position": true, // 标签只允许出现在 do/for/while/switch 中
    "max-line-length": [ // 行长度 140 字符
      true,
      140
    ],
    "member-access": false,
    "member-ordering": [
      true,
      {
        "order": [
          "static-field",
          "instance-field",
          "static-method",
          "instance-method"
        ]
      }
    ],
    "no-arg": true, // 禁止使用 arguments.callee
    "no-bitwise": true, // 禁止使用按位操作
    "no-console": [ // 不允许出现的 console,debug 使用的 log 及时清理
      true,
      "debug",
      "info",
      "time",
      "timeEnd",
      "trace"
    ],
    "no-construct": true, // 禁止访问 String, Number, Boolean 的构造函数
    "no-debugger": true, // 禁止使用 debugger 关键字,调试后及时清理
    "no-duplicate-super": true,
    "no-empty": false,
    "no-empty-interface": true, // 禁止空接口
    "no-eval": true, // 禁止使用 eval
    "no-inferrable-types": [ // 对于初始化为 number, string, boolean 的变量或参数,无须显式类型声明
      true,
      "ignore-params"
    ],
    "no-misused-new": true, // 不要对类或接口重新定义构造函数
    "no-non-null-assertion": true, // 禁止使用 ! 做非空断言的后缀运算
    "no-shadowed-variable": true, // 不允许隐藏变量声明
    "no-string-literal": false,
    "no-string-throw": true, // throw catch 到的错误信息
    "no-switch-case-fall-through": true, // 谨慎使用 switch 的 fall through 用法
    "no-trailing-whitespace": true, // 行尾禁止无意义的空格
    "no-unnecessary-initializer": true, // 禁止 let 声明或结构初始化为 undefined
    "no-unused-expression": true, // 禁止未使用的表达式语句
    "no-use-before-declare": true, // 先声明,后使用
    "no-var-keyword": true, // 禁止使用 var
    "object-literal-sort-keys": false,
    "one-line": [ // 要求指定的标记与它们之前的表达式位于同一行:开括号、catch、else、空格
      true,
      "check-open-brace",
      "check-catch",
      "check-else",
      "check-whitespace"
    ],
    "prefer-const": true, // 可能的情况下,尽量使用 const
    "quotemark": [ // 使用单引号
      true,
      "single"
    ],
    "radix": true, // parseInt 函数需要指明精度
    "semicolon": [ // 语句以分号结束
      true,
      "always"
    ],
    "triple-equals": [ // 使用 ===,!== 而不是 ==,!=
      true,
      "allow-null-check"
    ],
    "typedef-whitespace": [ // 正确使用空格
      true,
      {
        "call-signature": "nospace",
        "index-signature": "nospace",
        "parameter": "nospace",
        "property-declaration": "nospace",
        "variable-declaration": "nospace"
      }
    ],
    "unified-signatures": true, // 统一签名
    "variable-name": false,
    "whitespace": [ // 正确使用空格
      true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-separator",
      "check-type"
    ],
    "directive-selector": [ // 指令选择器应遵循给定的命名规则,驼峰命名法
      true,
      "attribute",
      "app",
      "camelCase"
    ],
    "component-selector": [ // 组件选择器,短横线命名法
      true,
      "element",
      "app",
      "kebab-case"
    ],
    "no-output-on-prefix": true, // 事件命名不加前缀 on,参考:https://angular.io/guide/styleguide#dont-prefix-output-properties
    "use-input-property-decorator": true, // 使用 @Input 装饰器而不是 @Component 和 @Directive 元数据的属性
    "use-output-property-decorator": true, // 使用 @Output 装饰器而不是 @Component 和 @Directive 元数据的属性
    "use-host-property-decorator": true,  // 使用 @HostProperty 装饰器而不是 @Component 和 @Directive 元数据的属性
    "no-input-rename": true, // 禁止通过向装饰器提供字符串来重命名 @Input()
    "no-output-rename": true, // 禁止通过向装饰器提供字符串来重命名 @Output()
    "use-life-cycle-interface": true, // 确保组件在使用时实现生命周期接口
    "use-pipe-transform-interface": true, // 确保 pipe 实现 PipeTransform 接口
    "component-class-suffix": true, // 用 @Component 修饰的类必须在其名称中包含后缀 Component
    "directive-class-suffix": true // 用 @Directive 修饰的类必须在其名称中加上后缀 Directive
  }
}

tslint angular 代码规范 代码检查 前端技术
本文更新于