写点什么

鸿蒙高质量代码静态检测 200 条二

作者:龙儿筝
  • 2024-11-12
    上海
  • 本文字数:1991 字

    阅读完需:约 7 分钟

  1. @typescript-eslint/no-unnecessary-qualifier


  • 禁止不必要的命名空间限定符


  1. @typescript-eslint/no-unnecessary-type-arguments


  • 当类型参数和默认值相同时,不允许显式使用


  1. @typescript-eslint/no-unnecessary-type-assertion


  • 禁止不必要的类型断言


  1. @typescript-eslint/no-unnecessary-type-constraint


  • 不允许在泛型中使用不必要的约束条件


  1. @typescript-eslint/no-unused-expressions


  • 代码中禁止包含未使用的表达式


  1. @typescript-eslint/no-unused-vars


  • 禁止定义未使用的变量


  1. @typescript-eslint/no-useless-constructor


  • 禁止不必要的构造函数


  1. @typescript-eslint/prefer-enum-initializers


  • 推荐显式初始化每个枚举成员值


  1. @typescript-eslint/prefer-for-of


  • 强制使用“for-of”循环而不是标准“for”循环


  1. @typescript-eslint/prefer-function-type


  • 强制使用函数类型而不是带有签名的对象类型


  1. @typescript-eslint/prefer-includes


  • 强制使用“includes”方法而不是“indexOf”方法


  1. @typescript-eslint/prefer-nullish-coalescing


  • 强制使用空合并运算符(??)而不是逻辑运算符


  1. @typescript-eslint/prefer-optional-chain


  • 强制使用链式可选表达式,而不是链式逻辑与、否定逻辑或、或空对象


  1. @typescript-eslint/prefer-readonly


  • 如果私有成员从未在构造函数之外进行修改,则要求将其标记为“只读”


  1. @typescript-eslint/prefer-readonly-parameter-types


  • 要求将函数参数解析为“只读”类型,以防止参数被修改而产生一些副作用


  1. @typescript-eslint/prefer-reduce-type-parameter


  • 调用“Array#reduce”时推荐使用类型参数而不是强制转换类型


  1. @typescript-eslint/prefer-regexp-exec


  • 如果未提供全局标志,推荐使用 RegExp#exec”,而不是“String#match”


  1. @typescript-eslint/prefer-string-starts-ends-with


  • 强制使用“String#startsWith”和“String#endsWith”而不是其他检查子字符串的等效方法


  1. @typescript-eslint/promise-function-async


  • 要求任何返回 Promise 的函数或方法标记为 async


  1. @typescript-eslint/quotes


  • 强制使用一致的反引号、双引号或单引号风格


  1. @typescript-eslint/require-array-sort-compare


  • 要求调用“Array#sort”时,始终提供“compareFunction”


  1. @typescript-eslint/require-await


  • 异步函数必须包含“await”


  1. @typescript-eslint/restrict-plus-operands


  • 要求加法的两个操作数都是相同的类型,并且是“bigint”、“number”或“string”


  1. @typescript-eslint/restrict-template-expressions


  • 要求模板表达式中的变量为“string”类型


  1. @typescript-eslint/return-await


  • 要求异步函数返回“await”


  1. @typescript-eslint/semi


  • 要求或不允许使用分号,例如 never 不允许使用分号,always 允许使用分号


"@typescript-eslint/semi": [  "error",  "never"]
复制代码


  1. @typescript-eslint/space-before-function-paren


  • 强制在函数名和括号之间保持一致的空格风格


  1. @typescript-eslint/space-infix-ops


  • 运算符前后要求有空格


  1. @typescript-eslint/strict-boolean-expressions


  • 不允许在布尔表达式中使用非布尔类型


  1. @typescript-eslint/switch-exhaustiveness-check


  • 要求 switch 语句对于联合类型中值的判断是详尽无遗的


  1. @typescript-eslint/triple-slash-reference


  • 不允许某些三斜杠引用,推荐使用 ES6 风格的导入声明


  1. @typescript-eslint/type-annotation-spacing


  • 类型注释前后需要一致的空格风格


  1. @typescript-eslint/typedef


  • 在某些位置需要类型注释


  1. @typescript-eslint/unbound-method


  • 强制类作用域中的方法在预期范围内调用


  1. @typescript-eslint/unified-signatures


  • 如果两个重载函数可以用联合类型参数(|)、可选参数(?)或者剩余参数(...)来重构成一个函数,不允许使用重载


  1. prefer-const


  • 推荐声明后未修改值的变量用 const 关键字来声明


  1. eqeqeq


  • 要求使用===和!==


  1. @security/no-commented-code


  • 不使用的代码段建议直接删除,不允许通过注释的方式保留


  1. @security/no-cycle


  • 禁止使用循环依赖


  1. @security/no-unsafe-aes


  • 该规则禁止在 AES 加密算法中使用不安全的 ECB 加密模式,推荐使用 Petal Aegis SDK 中的安全 AES 接口


  1. @security/no-unsafe-dh


  • 该规则禁止使用不安全的 DH 密钥协商算法


  1. @security/no-unsafe-dh-key


  • 该规则禁止使用不安全的 DH 密钥


  1. @security/no-unsafe-dsa


  • 该规则禁止使用不安全的 DSA 签名算法


  1. @security/no-unsafe-dsa-key


  • 该规则禁止使用不安全的 DSA 密钥


  1. @security/no-unsafe-ecdsa


  • 该规则禁止在 ECDSA 签名算法中使用不安全的 SHA1 摘要算法,推荐使用 Petal Aegis SDK 中的安全 ECDSA 接口


  1. @security/no-unsafe-hash


  • 该规则使用禁止不安全的哈希算法


  1. @security/no-unsafe-mac


  • 该规则禁止在 MAC 消息认证算法中使用不安全的哈希算法


  1. @security/no-unsafe-rsa-encrypt


  • 该规则禁止使用不安全的 RSA 非对称加密算法


  1. @security/no-unsafe-rsa-key


  • 该规则禁止使用不安全的 RSA 密钥


  1. @security/no-unsafe-rsa-sign


  • 该规则禁止不安全的 RSA 签名算法


  1. @performance/high-frequency-log-check


  • 不建议在高频函数中使用 Hilog


发布于: 刚刚阅读数: 4
用户头像

龙儿筝

关注

还未添加个人签名 2024-10-27 加入

还未添加个人简介

评论

发布
暂无评论
鸿蒙高质量代码静态检测200条二_鸿蒙_龙儿筝_InfoQ写作社区