鴻蒙高質量程式碼靜態檢測200條二

龙儿筝發表於2024-11-12
  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

相關文章