目录

一、TraeCN 能做哪些 “静态检查”

二、怎么在 TraeCN 里做静态检查

1)直接在 Chat 里审查(最常用)

2)用 Skills 做 “静态检查规则集”

3)企业版:CLI 与 CI 集成(类似 Trunk)

三、和传统静态工具(ESLint/Pylint/Trunk)区别

四、结论与建议

五、Trae Skill 中文静态检查规则模板供参考


可以肯定的的说: 能,但它不是传统 “静态检查工具”,而是 AI 驱动的代码审查 + 质量分析能力,可以做广义上的静态检查(不运行代码,靠语法 / 语义 / 规则 / 大模型分析)。

一、TraeCN 能做哪些 “静态检查”

  1. 语法与基础规范检查

    • 语法错误、未定义变量、类型不匹配
    • 缩进、命名、注释等编码规范问题
  2. 代码质量与坏味道

    • 重复代码、过长函数 / 类、圈复杂度高
    • 死代码、未使用变量 / 导入、逻辑冗余
  3. 安全漏洞静态排查(OWASP 类)

    • SQL 注入、XSS、CSRF
    • 硬编码密钥 / 密码、弱加密、不安全函数
    • 空指针、越界访问、资源未释放
  4. 接口与依赖风险

    • 接口参数不合法、返回值未处理
    • 依赖版本风险、配置错误

这些都属于不运行程序即可发现问题的静态分析范畴,只是它用的是大模型 + AST + 语义索引,而非传统 linter 规则引擎。

二、怎么在 TraeCN 里做静态检查

1)直接在 Chat 里审查(最常用)

选中代码 → 打开 Trae Chat → 输入中文指令,例如:

  • “帮我做一次静态检查,找出语法、质量和安全问题”
  • “检查这段代码有没有空指针、SQL 注入、越界访问”
  • “按团队规范审查,给出问题清单和修复建议”
2)用 Skills 做 “静态检查规则集”

在项目里建 .trae/skills/static-check,写一个 SKILL.md,定义检查范围和规则:

plaintext

name: static-check
description: 代码静态检查,覆盖语法、质量、安全、规范
rules:
  - 禁止硬编码密钥
  - 函数圈复杂度不超过10
  - 所有SQL必须参数化
  - 必须做参数非空校验

之后对目录 / 文件用这个 Skill,Trae 会按规则批量扫描。

3)企业版:CLI 与 CI 集成(类似 Trunk)

企业版支持:

trae check . --static --security --quality

可接入 GitLab/GitHub CI,提交时自动做静态审查。

三、和传统静态工具(ESLint/Pylint/Trunk)区别

  • 传统工具:靠固定规则库,速度快、误报低,但覆盖浅、难理解复杂语义。
  • TraeCN:靠大模型 + 上下文理解,能做深度语义检查、跨文件依赖分析、自然语言规则;缺点是比纯规则引擎慢、偶有幻觉 / 误报。

简单说:传统工具做 “合规扫描”,TraeCN 做 “AI 代码评审”,两者可以互补。

四、结论与建议

  • 结论:TraeCN 具备实用的代码静态检查能力,适合日常审查、安全扫描、质量把控;但不能完全替代 ESLint/Trunk 等专业工具。
  • 建议
    1. 日常:用 Trae Chat 做 AI 静态审查 + 代码评审。
    2. 提交 / CI:配合 ESLint/Pylint/Trunk 做强制规则校验。
    3. 企业:用 Trae 企业版 CLI + Skill 统一规则,打通 AI 审查和传统静态检查。

五、Trae Skill 中文静态检查规则模板供参考

下面直接给你一份可完整复制、开箱即用的 Trae Skill 中文静态检查规则模板(SKILL.md),覆盖:安全(高危)、代码质量、编码规范、性能与可维护性,适合 JS/TS/Python/Java/Go 全栈项目。

你只要在项目根目录建:

plaintext

.trae/skills/static-check/
└── SKILL.md

把下面内容全粘进去即可。


✅ SKILL.md(直接复制)

---
name: static-check
description: 全项目代码静态检查(安全+质量+规范+性能),提交前/CI 自动扫描,输出问题清单与修复建议
globs: ["**/*.js", "**/*.ts", "**/*.tsx", "**/*.py", "**/*.java", "**/*.go"]
---

# 代码静态检查(安全+质量+规范+性能)

## 适用场景
- 开发中:单文件/目录右键扫描
- 提交前:全项目批量检查
- CI/CD:卡点阻断高危问题
- 团队统一:强制执行编码规范

## 检查维度与规则(必须严格执行)

### 🔴 一、安全规则(高危,阻断)
1. **禁止硬编码密钥/密码/Token/AK/SK**:密钥必须放环境变量/密钥管理服务,代码中禁止明文出现。
2. **禁止 SQL/NoSQL 字符串拼接**:必须使用参数化查询(如 ?、#{}、:var),防止注入。
3. **禁止使用危险函数**:eval()、new Function()、exec()、spawn() 直接拼接用户输入。
4. **禁止未校验用户输入直接渲染/执行**:前端防 XSS,后端防命令/脚本注入。
5. **敏感信息禁止日志输出**:身份证、手机号、银行卡、密钥必须脱敏或不打印。
6. **接口必须鉴权**:所有非公开接口必须有 Token/权限校验,禁止匿名访问。
7. **禁止弱密码/默认密码**:代码/配置中禁止出现 123456、admin/admin 等默认账号密码。

### 🟠 二、代码质量规则(严重,建议修复)
1. **禁止未使用的导入/变量/函数**:删除死代码,减少维护负担。
2. **函数复杂度限制**:圈复杂度 ≤ 10;嵌套层级 ≤ 3 层。
3. **函数长度限制**:单个函数行数 ≤ 80,超长必须拆分。
4. **禁止重复代码**:相同逻辑出现 ≥2 次必须提取公共方法/组件。
5. **空值/边界处理**:对象/集合必须判空;参数合法性校验;防止 NPE/越界。
6. **异常处理规范**:禁止空 catch;必须捕获具体异常;异常信息需明确。
7. **类型安全(TS)**:禁止使用 any;优先 unknown + 类型守卫。

### 🟡 三、编码规范规则(警告,统一风格)
1. **命名规范**
   - 变量/函数:小驼峰(camelCase)
   - 类/组件:大驼峰(PascalCase)
   - 常量:全大写下划线(UPPER_SNAKE_CASE)
   - 数据库字段:蛇形(snake_case)
2. **注释规范**
   - 公共函数/方法必须有中文注释:功能、参数、返回、异常
   - 复杂逻辑必须加行内注释说明意图
3. **格式规范**
   - 缩进:2 空格(或 4 空格,团队统一)
   - 行尾:无多余空格;文件末尾空一行
   - 字符串:统一使用单引号或反引号
4. **导入规范**
   - 外部库 → 内部模块 → 样式/资源,分组空一行
   - 禁止模糊导入(如 import * as xxx)

### 🟢 四、性能与可维护性(建议,优化体验)
1. **避免循环内重复计算/查询**:N+1 查询必须优化。
2. **大列表必须分页/虚拟滚动**:前端渲染大数据列表需做性能优化。
3. **资源释放**:文件句柄、数据库连接、定时器必须手动释放。
4. **日志规范**:使用分级日志(info/warn/error);业务日志带 traceId。

## 输出格式(固定)
按文件→行号→等级→问题→修复建议输出:
- 🔴【高危】:必须修复,阻断合并
- 🟠【严重】:建议修复,影响质量
- 🟡【警告】:规范问题,统一风格
- 🟢【建议】:优化项,提升体验

## 修复要求
- 高危问题:**必须 100% 修复**
- 严重问题:**7 日内修复**
- 警告/建议:按需修复,新代码必须遵守

## 触发方式
1. 右键:文件/目录 → Trae AI → 运行 Skill → static-check
2. 命令:trae skill run static-check
3. CI:trae check . --static --ci

📌 使用方法(3 步到位)

  1. 在项目根目录创建文件夹:.trae/skills/static-check/
  2. 新建 SKILL.md,把上面内容完整粘贴
  3. 重启 Trae,即可右键 / 命令 / CI 触发扫描
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐