`
龙儿筝
  • 浏览: 9575 次
社区版块
存档分类
最新评论

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

阅读更多

1. @typescript-eslint/adjacent-overload-signatures

建议函数重载的签名保持连续

 

2. @typescript-eslint/await-thenable

 

不允许对不是“Thenable”对象的值使用await关键字,相反对“Thenable”对象必须使用await,例如对Promise对象。

 

3. @typescript-eslint/array-type

 

定义数组时,使用统一的样式,如都使用T[]或都使用Array。

 

"@typescript-eslint/array-type": [

  "error",

  {

    "default": "array"

  }

]

default的值设置为array时,统一使用T[];设置generic时,统一使用Array,设置为array-simple时,简单类型使用T[],其它类型使用Array

 

4. @typescript-eslint/ban-ts-comment

 

不允许使用@ts-<directional>格式的注释,或要求在注释后进行补充说明

 

5. @typescript-eslint/ban-tslint-comment

 

不允许使用//tslint:<rule-flag>格式的注释

 

6. @typescript-eslint/ban-types

 

不允许使用某些类型,例如类型小写保持一致,使用string,boolean,number等等,而不是String,Boolean,Number。

 

7. @typescript-eslint/brace-style

 

要求代码块的左大括号与其对应的语句或声明位于同一行。

 

8. @typescript-eslint/class-literal-property-style

 

建议类中的字面量属性对外暴露时,保持一致的风格

 

9. @typescript-eslint/comma-dangle

 

允许或禁止使用尾随逗号,类的最后一个属性或者数组最后一个元素禁止尾随逗号

 

"@typescript-eslint/comma-dangle": [

  "error",

  {

    "arrays": "never",

    "objects": "never",

    "imports": "never",

    "exports": "never",

    "functions": "never"

  }

]

共有数组arrays,对象objects,导入imports,导出exports和函数functions五各类型支持配置,值设置为never则是禁止尾随逗号,设置为always则是允许尾随逗号。

 

10. @typescript-eslint/comma-spacing

 

强制逗号前后的空格风格保持一致,例如强制要求逗号前不加空格,逗号后必须添加空格

 

"@typescript-eslint/comma-spacing": [

  "error",

  {

    "before": false,

    "after": true

  }

]

11. @typescript-eslint/consistent-type-assertions

 

强制使用一致的类型断言

 

12. @typescript-eslint/default-param-last

 

强制默认参数位于参数列表的最后一个

 

13. @typescript-eslint/explicit-member-accessibility

 

在类属性和方法上需要显式定义访问修饰符

 

14. @typescript-eslint/func-call-spacing

 

禁止或者要求函数名与函数名后面的括号之间加空格

 

"@typescript-eslint/func-call-spacing": [

  "error",

  "never"

]

设置为never时,函数名后面禁止添加空格,设置为always时,函数名后面允许添加空格

 

15. @typescript-eslint/init-declarations

 

禁止或者要求在变量声明中进行初始化

 

"@typescript-eslint/init-declarations": [

  "error",

  "always"

]

设置为always时,声明变量必须初始化,设置为never时,声明变量可以不初始化。

 

16. @typescript-eslint/keyword-spacing

 

强制在关键字之前和关键字之后保持一致的空格风格,例如在关键字前后都添加空格

 

"@typescript-eslint/keyword-spacing": [

  "error",

  {

    "before": true,

    "after": true

  }

]

17. @typescript-eslint/lines-between-class-members

 

禁止或者要求类成员之间有空行分隔,always为允许有空行,never为不允许有空行,如下设置空行后不加空行,属性和方法之前添加空行。

 

"@typescript-eslint/lines-between-class-members": [

  "error",

  {

    enforce: [

      {

        blankLine: "never",

        prev: "field",

        next: "method"

      }

    ]

  }

]

18. @typescript-eslint/member-delimiter-style

 

要求接口和类型别名中的成员之间使用特定的分隔符,支持定义的分隔符有三种:分号、逗号、无分隔符

 

19. @typescript-eslint/member-ordering

 

要求类、接口和类型字面量中成员的排序方式保持一致的风格

 

20. @typescript-eslint/naming-convention

 

强制标识符使用一致的命名风格。例如类名使用大驼峰,函数使用小驼峰。

 

21. @typescript-eslint/no-array-constructor

 

不允许使用“Array”构造函数。

 

22. @typescript-eslint/no-base-to-string

 

要求当一个对象在字符串化时提供了有用的信息,才能调用“toString()”方法

 

23. @typescript-eslint/no-confusing-non-null-assertion

 

不允许在可能产生混淆的位置使用非空断言

 

24. @typescript-eslint/no-confusing-void-expression

 

要求void类型的表达式出现在合适的位置

 

25. @typescript-eslint/no-dupe-class-members

 

不允许重复的类成员,即已经声明的成员属性,不允许重复再声明一次。

 

26. @typescript-eslint/no-duplicate-imports

 

禁止重复的模块导入,即已经导入的模块,不允许再再次导入。

 

27. @typescript-eslint/no-empty-function

 

不允许使用空函数,支持的白名单配置包括函数,箭头函数,方法,构造方法等等,配置如下

 

"@typescript-eslint/no-empty-function": [

  "error",

  {

    "allow": [

      "functions",

      "arrowFunctions",

      "generatorFunctions",

      "methods",

      "generatorMethods",

      "getters",

      "setters",

      "constructors",

      "asyncFunctions",

      "asyncMethods"

    ]

  }

]

28. @typescript-eslint/no-empty-interface

 

不允许声明空接口

 

29. @typescript-eslint/no-extraneous-class

 

不允许将类用作命名空间

 

30. @typescript-eslint/no-extra-non-null-assertion

 

不允许多余的非空断言

 

31. @typescript-eslint/no-extra-parens

 

禁止使用不必要的括号

 

32. @typescript-eslint/no-extra-semi

 

禁止使用不必要的分号

 

33. @typescript-eslint/no-floating-promises

 

要求正确处理Promise表达式,例如Promise一定要处理异常情况

 

34. @typescript-eslint/no-implied-eval

 

禁止使用类似“eval()”的方法

 

35. @typescript-eslint/no-inferrable-types

 

不允许对初始化为数字、字符串或布尔值的变量或参数进行显式类型声明

 

36. @typescript-eslint/no-invalid-this

 

禁止在this的值为undefined的上下文中使用this

 

37. @typescript-eslint/no-invalid-void-type

 

禁止在返回类型或者泛型类型之外使用void

 

38. @typescript-eslint/no-loss-of-precision

 

禁止使用失去精度的字面数字

 

39. @typescript-eslint/no-magic-numbers

 

禁止使用魔法数字。但有些情况下我们又需要直接使用数字,例如定义枚举时,在数组中根据索引取数据时,或者直接定义某些值不是魔法数字,示例如下

 

"@typescript-eslint/no-magic-numbers": [

  "off",

  {

    "ignoreEnums": true,

    "ignoreArrayIndexes": true,

    "ignoreNumericLiteralTypes": true,

    "ignore": [

      -1,

      0,

      1

    ]

  }

]

40. @typescript-eslint/no-misused-new

 

要求正确地定义“new”和“constructor”

 

41. @typescript-eslint/no-misused-promises

 

禁止在不正确的位置使用Promise

 

42. @typescript-eslint/no-non-null-asserted-optional-chain

 

禁止在可选链表达式之后使用非空断言

 

43. @typescript-eslint/no-non-null-assertion

 

禁止以感叹号作为后缀的方式使用非空断言

 

44. @typescript-eslint/no-redeclare

 

禁止变量重复声明,即前面声明过的变量,不允许再次声明。

 

45. @typescript-eslint/no-require-imports

 

禁止使用“require()”语法导入依赖

 

46. @typescript-eslint/no-restricted-syntax

 

不允许使用指定的(即用户在规则中定义的)语法。例如不允许直接使用console.log打印日志,而是使用我们封装好的LogUtil打印日志

 

"@typescript-eslint/no-restricted-syntax": [

  "error",

  {

    "selector": "CallExpression[callee.name='console.log']",

    "message": "不要直接使用console打印日志,请使用LogUtil"

  }

]

47. @typescript-eslint/no-shadow

 

禁止声明与外部作用域变量同名的变量

 

48. @typescript-eslint/no-throw-literal

 

禁止将字面量作为异常抛出

 

49. @typescript-eslint/no-unnecessary-boolean-literal-compare"

 

禁止将布尔值和布尔字面量直接进行比较

 

50. @typescript-eslint/no-unnecessary-condition

 

不允许使用类型始终为真或始终为假的表达式作为判断条件

 

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

 

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

0
0
分享到:
评论

相关推荐

    基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码

    基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码,代码完整下载即用。 基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码,代码完整下载即用。基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码,代码完整下载即用...

    基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码 (高分项目).zip

    基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码 (高分项目).zip在 HarmonyOS 4 开发平台下,构建一款新闻类应用是一项综合性的任务,涉及到操作系统、UI 设计、网络通信、数据处理等多个领域的技术知识。...

    基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码

    在本项目中,我们主要关注的是基于HarmonyOS 4构建的一款刷题应用程序的源代码。HarmonyOS是由华为公司研发的操作系统,旨在为不同设备提供统一的平台,实现跨平台、全场景的智能生活体验。这个应用是针对开发者设计...

    基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码 (大作业).zip

    基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码 (大作业).zip,含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业...

    基于HarmonyOS 4开发一款刷题的鸿蒙APP项目源代码(高分项目)

    基于HarmonyOS 4开发一款刷题的鸿蒙APP项目源代码基于HarmonyOS 4开发一款刷题的鸿蒙APP项目源代码基于HarmonyOS 4开发一款刷题的鸿蒙APP项目源代码基于HarmonyOS 4开发一款刷题的鸿蒙APP项目源代码基于HarmonyOS 4...

    HarmonyOS鸿蒙应用开发者高级认证题库(覆盖99%考题)

    ### HarmonyOS应用开发者高级认证题库解析 #### 一、判断题解析 1. **云函数打包完成后,需要到 AppGallery Connect 创建对应函数的触发器才可以在端侧中调用**(错误) - **解析**:云函数的调用并不一定需要在...

    华为HarmonyOS鸿蒙高级应用实站课程-网盘链接提取码下载 .txt

    华为HarmonyOS鸿蒙系统实战应用开发课程,一次课程带领同学们了解HarmonyOS鸿蒙系统。课程分为两个阶段,第一部分是HarmonyOS基础开发阶段,第二部分是HarmonyOS进阶开发阶段。课程从内向外逐步深入的剖析和讲解...

    鸿蒙计算器源代码.rar

    【鸿蒙计算器源代码】是针对华为自主开发的HarmonyOS操作系统设计的一款计算器应用的源码集合。这款软件因其在鸿蒙系统上的优秀表现和实用性而受到赞誉。开发者可以通过研究这些源代码,深入理解如何在鸿蒙OS上构建...

    基于HarmonyOS 开发的一款鸿蒙读书APP项目代码(高分项目)

    基于HarmonyOS 开发的一款鸿蒙读书APP项目代码(高分项目),含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以使用。...

    鸿蒙教学Demo代码.zip

    【鸿蒙教学Demo代码.zip】是一个包含华为鸿蒙系统开发示例代码的压缩包,主要针对 HarmonyOS 进行教学和学习。HarmonyOS,又称鸿蒙系统,是华为公司推出的一款面向全场景的分布式操作系统,旨在打破不同设备之间的...

    基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码项目(满分大作业)

    基于HarmonyOS 4开发的一款刷题的鸿蒙APP源代码项目.zip含有代码注释,满分大作业资源,新手也可看懂,期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。该项目可以作为课程设计期末大作业使用,该...

    [练习题+答案]Harmony OS应用开发者高级认证

    虽然非关系型数据库在某些场景下确实能够更好地满足特定需求,但HarmonyOS中的首选项(preferences)并非基于非关系型数据库,而是采用了一种简单的Key-Value形式存储数据,并不涉及复杂的事务处理机制。 #### 二、...

    鸿蒙HarmonyOS壁纸,万物皆鸿蒙(无水印版).rar

    鸿蒙HarmonyOS是华为公司开发的一款面向全场景的分布式操作系统,旨在打破设备间的界限,实现万物互联。这款操作系统的设计理念源于中国古代哲学中的"鸿蒙"概念,寓意着开创一切的原始状态,象征着系统能够无缝连接...

    HarmonyOS 鸿蒙工具箱.zip

    HarmonyOS,又称鸿蒙系统,是华为公司推出的一款面向全场景的分布式操作系统,旨在打破不同设备之间的界限,实现跨平台、跨设备的无缝协同。鸿蒙工具箱是华为为开发者提供的一个集成开发环境(IDE),它包含了一系列...

    HarmonyOS应用开发者高级认证 word试题及答案

    【 HarmonyOS 应用开发者高级认证】涉及到的知识点主要涵盖 HarmonyOS 应用的开发、设计、部署和测试等方面。以下是这些知识点的详细说明: **一、端云一体化开发** 1. **端云一体化开发**:允许开发者通过统一的...

    基于DevEco Studio开发鸿蒙手表APP项目代码(高分项目代码)

    基于DevEco Studio开发鸿蒙手表APP项目代码(高分项目代码)基于DevEco Studio开发鸿蒙手表APP项目代码(高分项目代码)基于DevEco Studio开发鸿蒙手表APP项目代码(高分项目代码)基于DevEco Studio开发鸿蒙手表APP...

    华为鸿蒙HarmonyOS开发整理资料汇总.zip

    华为鸿蒙HarmonyOS开发整理资料汇总,共38份。 1学前必读:HarmonyOS学习资源主题分享 2学前必读:OpenHarmony-联盟生态资料合集 3-1.HarmonyOS概述:技术特性 3-2.HarmonyOS概述:开发工具与平台 3-3.HarmonyOS...

    华为鸿蒙HarmonyOS开发者资料大全鸿蒙系统开发资料汇总.zip

    鸿蒙HarmonyOS开发者资料大全鸿蒙系统开发资料汇总,包括如下: DevEco Studio 1.0 使用指南.pdf HarmonyOS-NFC开发指南.pdf HarmonyOS应用开发之页面开发.pdf HarmonyOS开发必备基础知识.pdf WLAN开发指南.pdf 图像...

Global site tag (gtag.js) - Google Analytics