首页 > 其他分享 >鸿蒙高质量代码静态检测200条二

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

时间:2024-11-12 19:08:00浏览次数:1  
标签:200 typescript 鸿蒙 no prefer 条二 eslint 使用 security

  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

标签:200,typescript,鸿蒙,no,prefer,条二,eslint,使用,security
From: https://www.cnblogs.com/zhaloe/p/18542457

相关文章

  • 洛谷 P1772 [ZJOI2006] 物流运输 做题记录
    很神经的一道题。令\(val_{i,j}\)表示从第\(i\)天到第\(j\)天每天都走一条道路,单次的最小花费。可以枚举\(\{i,j\}\)然后把在这个区间里的所有点设置成不可达,每一个\(\{i,j\}\)都可以用floyd算,时间复杂度\(O(n^2m^3)\)。令\(f_i\)表示第\(i\)天的最小花费,那么......
  • 鸿蒙HarmonyOS(ArkUI基础篇大合集!)
    文章目录ArkUI(方舟UI框架)1.简介2.基本概念3.概述4.布局1.概述2.通用布局属性......
  • 鸿蒙NEXT开发案例:抛硬币
    鸿蒙NEXT开发案例:抛硬币 【1】引言(完整代码在最后面)本项目旨在实现一个简单的“抛硬币”功能,用户可以通过点击屏幕上的地鼠图标来模拟抛硬币的过程。应用会记录并显示硬币正面(地鼠面)和反面(数字100面)出现的次数。为了增强用户体验,我们还添加了动画效果,使抛硬币的过程更加生......
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行信号时域仿真操作指导(
    SigritySPEED2000PowerGroundNoiseSimulation模式如何进行信号时域仿真操作指导(二)-三个IBIS模型SigritySPEED2000PowerGroundNoiseSimulation模式如何进行信号时域仿真操作指导(一)-单个IBIS模型介绍了在单个IBIS模型的激励下,发送和接收端的电压时域波形,当三个IB......
  • 鸿蒙高质量代码静态检测200条一
    @typescript-eslint/adjacent-overload-signatures建议函数重载的签名保持连续@typescript-eslint/await-thenable不允许对不是“Thenable”对象的值使用await关键字,相反对“Thenable”对象必须使用await,例如对Promise对象。@typescript-eslint/array-type定义数......
  • 鸿蒙开发之用户输入(TextInput)
    前言:日常开发中如果需要接收用户输入,就可以使用输入组件来完成TextInput:单行输入框:常用参数:参数名类型是否必填说明placeholderResourceStr否设置无输入时的提示文本。textResourceStr否设置输入框当前的文本内容。从APIversion10开始,该参数......
  • 《【NOIP2000 基础】计算器的改良》 不全对题解
    温馨提示,本题难度略大,本人写不出来正确代码,文章代码并不对,只是提供一些思路,希望大家能谅解!目录题目描述输入描述输出描述解析完整代码描述NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一......
  • 鸿蒙NEXT开发案例:指尖轮盘
     【1】引言“指尖轮盘”是一个简单而有趣的互动游戏(类似抓阄),这个应用通过触摸屏幕的方式,让玩家参与一个激动人心的游戏,最终选出幸运的赢家。未来可以进一步扩展功能,如增加游戏模式、优化动画效果、增加音效等,提升用户体验。【2】环境准备电脑系统:windows10开发工具:DevEco......
  • 题解:P10967 [IOI2000] 邮局(原始版)
    思路首先将坐标排序。定义\(dp_{i,j}\)为前\(i\)个村庄放\(j\)个邮局的前\(i\)个村庄的最小距离总和,\(f(i,j)\)表示村庄区间\([i,j]\)内放一个村庄时该区间的总和。转化式易得\(dp_{i}{j}=dp_{k}{j-1}+f(k+1,i),k\in[0,i)\)。则本题的难点就为求\(f(k-1,i)\)。......
  • 鸿蒙ArkTS和TS有什么区别?
    Ark是强类型,打包编译的时候会保留类型。提高程序运行效率。TS支持类型校验,但是并不严格,支持any、unknown这些不明确的类型。编译后其实js+d.ts,js文件不保留类型。ArkTS基本禁用了动态类型比如对象不能随意添加或者删除某些属性,对象类型要明确,需提前用interface或class把......