68 lines
3.3 KiB
YAML
68 lines
3.3 KiB
YAML
# [DUPLICATE: exact] 重复自定义规则 no-console-log(检测目标完全一致)
|
||
# 如需启用,删除以下每行开头的 # 即可
|
||
# - id: no-console-log
|
||
# severity: warning
|
||
# description: 生产代码中不要使用 console.log / console.error 打日志,统一走封装的 logger
|
||
# message: 请使用 src/utils/logger.ts 封装的 logger,不要直接用 console.log / console.error
|
||
# languages: [javascript, typescript]
|
||
# duplicateOf: custom/no-console-log
|
||
# duplicateLevel: exact
|
||
- id: require-request-timeout
|
||
severity: warning
|
||
description: 发请求必须显式配置 timeout
|
||
message: 请求必须显式配置 timeout:常规接口 5s,支付类接口 10s
|
||
languages: [javascript, typescript]
|
||
# [DUPLICATE: exact] 重复自定义规则 no-hardcoded-secret(检测目标完全一致)
|
||
# 如需启用,删除以下每行开头的 # 即可
|
||
# - id: no-hardcoded-secrets
|
||
# severity: error
|
||
# description: 密钥、账号密码、内网地址等敏感配置不能写死在代码里
|
||
# message: 请将敏感配置放入 .env 或配置中心,不要硬编码在代码中
|
||
# duplicateOf: custom/no-hardcoded-secret
|
||
# duplicateLevel: exact
|
||
- id: no-empty-catch
|
||
severity: warning
|
||
description: catch 块不能什么都不干
|
||
message: catch 块至少应 logger.error 记录,或转换为业务异常向上抛出
|
||
languages: [java, javascript, typescript]
|
||
- id: max-function-length
|
||
severity: info
|
||
description: 单个函数不应超过 80 行(注释和空行不计),过长的函数需要拆分
|
||
message: 函数超过 80 行,建议拆分为更小、可复用、易测试的函数
|
||
# [DUPLICATE: exact] 重复 eslint/eqeqeq(检测目标完全一致)
|
||
# 如需启用,删除以下每行开头的 # 即可
|
||
# - id: strict-equality-required
|
||
# severity: error
|
||
# description: JS/TS 禁止使用 == 和 !=,一律使用 === 和 !==
|
||
# message: 请使用 === / !== 代替 == / !=,避免隐式类型转换问题
|
||
# languages: [javascript, typescript]
|
||
# duplicateOf: eslint/eqeqeq
|
||
# duplicateLevel: exact
|
||
- id: require-promise-catch
|
||
severity: error
|
||
description: Promise 必须挂 catch;async/await 必须用 try/catch 包裹
|
||
message: Promise 需要 catch,async/await 需要 try/catch,避免 unhandled rejection
|
||
languages: [javascript, typescript]
|
||
# [DUPLICATE: exact] 重复 eslint/no-var(检测目标完全一致)
|
||
# 如需启用,删除以下每行开头的 # 即可
|
||
# - id: no-var
|
||
# severity: warning
|
||
# description: 禁止使用 var 声明变量,应使用 const/let
|
||
# message: 请使用 const(需要重新赋值时用 let)替代 var
|
||
# languages: [javascript, typescript]
|
||
# duplicateOf: eslint/no-var
|
||
# duplicateLevel: exact
|
||
- id: service-entry-logging
|
||
severity: info
|
||
description: Java Service 层公开方法入口需要记录日志
|
||
message: Service 公开方法入口请记录一条包含订单号、用户 ID 等关键字段的日志
|
||
languages: [java]
|
||
# [DUPLICATE: exact] 重复自定义规则 no-sql-injection(检测目标完全一致)
|
||
# 如需启用,删除以下每行开头的 # 即可
|
||
# - id: no-sql-injection
|
||
# severity: error
|
||
# description: SQL 禁止使用字符串拼接,必须参数化查询或使用 ORM
|
||
# message: 请使用参数化查询或 ORM 参数绑定,不要字符串拼接 SQL
|
||
# languages: [java]
|
||
# duplicateOf: custom/no-sql-injection
|
||
# duplicateLevel: exact |