鸿蒙高质量代码静态检测 200 条四
@cross-device-app-dev/font-size
字体大小要求至少为 8fp 以便于阅读
@cross-device-app-dev/grid-columns-span
不推荐开发者将栅格中所有的 GridCol 子组件只设置 span 属性,且值与父组件的 columns 属性相等
@cross-device-app-dev/grid-span-value
在栅格布局组件 GridCol 中,span 和 offset 不建议使用小数
@cross-device-app-dev/size-unit
组件通用属性 width、height 和 size,应当使用 vp 作为单位
@cross-device-app-dev/touch-target-size
组件通用属性 responseRegion 点击热区需满足最小尺寸要求
@cross-device-app-dev/sidebar-navigation
对于 2in1 和 tablet 设备,应将 Tabs 组件设置为侧边导航栏
@cross-device-app-dev/color-contrast
文本和背景之间的颜色对比度至少为 4.5:1 以确保可读性
@hw-stylistic/array-bracket-spacing
强制数组“[”之后和“]”之前加空格
@hw-stylistic/brace-style
强制大括号和语句位于同一行
@hw-stylistic/comma-spacing
强制数组元素和函数中多个参数之间的逗号后面加空格,逗号前不加空格
@hw-stylistic/curly
条件语句和循环语句的逻辑代码必须写在大括号中
@hw-stylistic/file-naming-convention
强制代码文件和资源文件保持一致的命名风格
@hw-stylistic/indent
强制 switch 语句中的 case 和 default 缩进一层
@hw-stylistic/keyword-spacing
在关键字前后强制加空格
@hw-stylistic/max-len
强制代码行最大长度为 120 个字符
@hw-stylistic/no-multi-spaces
不允许出现连续多个空格,除非是换行
@hw-stylistic/no-tabs
禁止使用 tab 作为缩进,推荐使用空格
@hw-stylistic/object-property-newline
强制对象属性换行
@hw-stylistic/one-var-declaration-per-line
变量声明时,要求一次仅声明一个变量
@hw-stylistic/operator-linebreak
强制运算符位于代码行末
@hw-stylistic/quotes
强制字符串使用单引号
@hw-stylistic/semi-spacing
强制分号之前不加空格
@hw-stylistic/space-before-blocks
强制在“{”之前加空格
@hw-stylistic/space-before-function-paren
在函数名和“(”之间强制不加空格
hw-stylistic/space-infix-ops
强制运算符前后都加空格
@typescript-eslint/consistent-indexed-object-style
允许或禁止使用“Record”类型,仅适用于 js/ts
@typescript-eslint/consistent-type-definitions
强制使用一致的类型声明样式,仅使用“interface”或者仅使用“type”,仅适用于 js/ts
@typescript-eslint/consistent-type-imports
强制使用一致的类型导入风格,仅适用于 js/ts
@typescript-eslint/dot-notation
强制使用点表示法,仅适用于 js/ts
@typescript-eslint/explicit-function-return-type
函数和类方法需要显式的定义返回类型,仅适用于 js/ts
@typescript-eslint/explicit-module-boundary-types
导出到外部的函数和公共类方法,需要显式的定义返回类型和参数类型,仅适用于 js/ts
@typescript-eslint/method-signature-style
定义函数类型的属性时,强制使用特定的风格,仅适用于 js/ts
@typescript-eslint/no-dynamic-delete
不允许在 computed key 表达式上使用“delete”运算符,仅适用于 js/ts
@typescript-eslint/no-explicit-any
不允许使用“any”类型,仅适用于 js/ts
@typescript-eslint/no-for-in-array
禁止使用 for-in 循环来遍历数组元素,仅适用于 js/ts
@typescript-eslint/no-implicit-any-catch
禁止在 catch 表达式中使用隐式“any”类型,仅适用于 js/ts
@typescript-eslint/no-loop-func
禁止在循环语句内包含不安全引用的函数声明,仅适用于 js/ts
@typescript-eslint/no-namespace
禁止使用 TypeScript 语法中的命名空间,仅适用于 js/ts
@typescript-eslint/no-parameter-properties
禁止在类构造函数中使用参数属性,仅适用于 js/ts
@typescript-eslint/no-this-alias
禁止将“this”赋值给一个变量,仅适用于 js/ts
@typescript-eslint/no-type-alias
禁止使用类型别名,仅适用于 js/ts
@typescript-eslint/no-unsafe-argument
不允许将 any 类型的值作为函数的参数传入,仅适用于 js/ts
@typescript-eslint/no-unsafe-assignment
禁止将“any”类型的值赋值给变量和属性,仅适用于 js/ts
@typescript-eslint/no-unsafe-call
禁止调用“any”类型的表达式,仅适用于 js/ts
@typescript-eslint/no-unsafe-member-access
禁止成员访问“any”类型的值,仅适用于 js/ts
@typescript-eslint/no-unsafe-return
函数禁止返回类型为“any”的值,仅适用于 js/ts
@typescript-eslint/no-use-before-define
禁止在变量声明之前使用变量,仅适用于 js/ts
@typescript-eslint/prefer-as-const
对于字面量类型,强制使用“as const”,仅适用于 js/ts
@typescript-eslint/prefer-literal-enum-member
要求所有枚举成员都定义为字面量值,仅适用于 js/ts
@typescript-eslint/prefer-ts-expect-error
强制使用“@ts-expect-error”而不是“@ts-ignore”,仅适用于 js/ts
@performance/hp-performance-no-dynamic-cls-func
避免动态声明 function 与 class,仅适用于 js/ts
版权声明: 本文为 InfoQ 作者【龙儿筝】的原创文章。
原文链接:【http://xie.infoq.cn/article/8912c332ab1a74aade88e3593】。文章转载请联系作者。
评论