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

龙儿筝發表於2024-11-13
  1. @cross-device-app-dev/font-size
  • 字型大小要求至少為8fp以便於閱讀
  1. @cross-device-app-dev/grid-columns-span
  • 不推薦開發者將柵格中所有的GridCol子元件只設定span屬性,且值與父元件的columns屬性相等
  1. @cross-device-app-dev/grid-span-value
  • 在柵格佈局元件GridCol中,span和offset不建議使用小數
  1. @cross-device-app-dev/size-unit
  • 元件通用屬性width、height和size,應當使用vp作為單位
  1. @cross-device-app-dev/touch-target-size
  • 元件通用屬性responseRegion點選熱區需滿足最小尺寸要求
  1. @cross-device-app-dev/sidebar-navigation
  • 對於2in1和tablet裝置,應將Tabs元件設定為側邊導航欄
  1. @cross-device-app-dev/color-contrast
  • 文字和背景之間的顏色對比度至少為4.5:1以確保可讀性
  1. @hw-stylistic/array-bracket-spacing
  • 強制陣列“[”之後和“]”之前加空格
  1. @hw-stylistic/brace-style
  • 強制大括號和語句位於同一行
  1. @hw-stylistic/comma-spacing
  • 強制陣列元素和函式中多個引數之間的逗號後面加空格,逗號前不加空格
  1. @hw-stylistic/curly
  • 條件語句和迴圈語句的邏輯程式碼必須寫在大括號中
  1. @hw-stylistic/file-naming-convention
  • 強制程式碼檔案和資原始檔保持一致的命名風格
  1. @hw-stylistic/indent
  • 強制switch語句中的case和default縮排一層
  1. @hw-stylistic/keyword-spacing
  • 在關鍵字前後強制加空格
  1. @hw-stylistic/max-len
  • 強制程式碼行最大長度為120個字元
  1. @hw-stylistic/no-multi-spaces
  • 不允許出現連續多個空格,除非是換行
  1. @hw-stylistic/no-tabs
  • 禁止使用tab作為縮排,推薦使用空格
  1. @hw-stylistic/object-property-newline
  • 強制物件屬性換行
  1. @hw-stylistic/one-var-declaration-per-line
  • 變數宣告時,要求一次僅宣告一個變數
  1. @hw-stylistic/operator-linebreak
  • 強制運算子位於程式碼行末
  1. @hw-stylistic/quotes
  • 強制字串使用單引號
  1. @hw-stylistic/semi-spacing
  • 強制分號之前不加空格
  1. @hw-stylistic/space-before-blocks
  • 強制在“{”之前加空格
  1. @hw-stylistic/space-before-function-paren
  • 在函式名和“(”之間強制不加空格
  1. hw-stylistic/space-infix-ops
  • 強制運算子前後都加空格
  1. @typescript-eslint/consistent-indexed-object-style
  • 允許或禁止使用“Record”型別,僅適用於js/ts
  1. @typescript-eslint/consistent-type-definitions
  • 強制使用一致的型別宣告樣式,僅使用“interface”或者僅使用“type”,僅適用於js/ts
  1. @typescript-eslint/consistent-type-imports
  • 強制使用一致的型別匯入風格,僅適用於js/ts
  1. @typescript-eslint/dot-notation
  • 強制使用點表示法,僅適用於js/ts
  1. @typescript-eslint/explicit-function-return-type
  • 函式和類方法需要顯式的定義返回型別,僅適用於js/ts
  1. @typescript-eslint/explicit-module-boundary-types
  • 匯出到外部的函式和公共類方法,需要顯式的定義返回型別和引數型別,僅適用於js/ts
  1. @typescript-eslint/method-signature-style
  • 定義函式型別的屬性時,強制使用特定的風格,僅適用於js/ts
  1. @typescript-eslint/no-dynamic-delete
  • 不允許在computed key表示式上使用“delete”運算子,僅適用於js/ts
  1. @typescript-eslint/no-explicit-any
  • 不允許使用“any”型別,僅適用於js/ts
  1. @typescript-eslint/no-for-in-array
  • 禁止使用 for-in 迴圈來遍歷陣列元素,僅適用於js/ts
  1. @typescript-eslint/no-implicit-any-catch
  • 禁止在 catch 表示式中使用隱式“any”型別,僅適用於js/ts
  1. @typescript-eslint/no-loop-func
  • 禁止在迴圈語句內包含不安全引用的函式宣告,僅適用於js/ts
  1. @typescript-eslint/no-namespace
  • 禁止使用 TypeScript語法中的名稱空間,僅適用於js/ts
  1. @typescript-eslint/no-parameter-properties
  • 禁止在類建構函式中使用引數屬性,僅適用於js/ts
  1. @typescript-eslint/no-this-alias
  • 禁止將“this”賦值給一個變數,僅適用於js/ts
  1. @typescript-eslint/no-type-alias
  • 禁止使用型別別名,僅適用於js/ts
  1. @typescript-eslint/no-unsafe-argument
  • 不允許將any型別的值作為函式的引數傳入,僅適用於js/ts
  1. @typescript-eslint/no-unsafe-assignment
  • 禁止將“any”型別的值賦值給變數和屬性,僅適用於js/ts
  1. @typescript-eslint/no-unsafe-call
  • 禁止呼叫“any”型別的表示式,僅適用於js/ts
  1. @typescript-eslint/no-unsafe-member-access
  • 禁止成員訪問“any”型別的值,僅適用於js/ts
  1. @typescript-eslint/no-unsafe-return
  • 函式禁止返回型別為“any”的值,僅適用於js/ts
  1. @typescript-eslint/no-use-before-define
  • 禁止在變數宣告之前使用變數,僅適用於js/ts
  1. @typescript-eslint/prefer-as-const
  • 對於字面量型別,強制使用“as const”,僅適用於js/ts
  1. @typescript-eslint/prefer-literal-enum-member
  • 要求所有列舉成員都定義為字面量值,僅適用於js/ts
  1. @typescript-eslint/prefer-ts-expect-error
  • 強制使用“@ts-expect-error”而不是“@ts-ignore”,僅適用於js/ts
  1. @performance/hp-performance-no-dynamic-cls-func
  • 避免動態宣告function與class,僅適用於js/ts

相關文章