- 新增三个 demo 工程(demo-eslint / demo-sqlfluff / demo-stylelint):各含 src/ 样例代码与覆盖率映射(run-coverage.mjs、coverage_map.json、stylelint_line_map.json) - 归档各 demo 的插件实测导出报告(reports/): - demo-eslint:common.js / esm-demo.js / legacysyntax.cjs / typescript.ts 审查报告 + 覆盖率报告(292/292 条零偏差,126 种规则全覆盖) - demo-sqlfluff:11 个 SQL 样例审查报告 + 覆盖率报告(113/113 条零偏差,57 种规则全覆盖,含 JJ01 行号缺陷修复后的复测验证) - demo-stylelint:common.css / empty-source.css 审查报告 + 覆盖率报告(145/145 条零偏差,68 种规则全覆盖)
1.7 KiB
1.7 KiB
代码审查报告
文件: data\demo-sqlfluff\src\09_aliasing_length.sql
语言: sql
耗时: 132.7s
分析工具: sqlfluff
总计: 4 | 错误: 1 | 警告: 1 | 建议: 2
静态分析 · 1 个问题
- 🔴
sqlfluff:AL06L8 L8: 别名长度不应超过30个字符。 建议: 将别名 this_alias_is_way_longer_than_thirty_characters_ok 缩短为不超过30字符的语义化名称(如 long_alias),并确保第6行和第8行的引用同步更新。
AI 审查 · 3 条建议
- 🟡 [AI] [design]
repeated-alias-referenceL6 长别名在 SELECT 和 FROM 中重复出现,修改时易遗漏 同一个超长别名在 SELECT 子句(第6行)和 FROM 子句(第8行)中出现了两次。静态分析仅标记第8行的定义超长,但修复时若只修改定义处而遗漏引用处,SQL 会因别名不匹配而失败。 建议: 将 this_alias_is_way_longer_than_thirty_characters_ok 统一替换为简短别名(如 long_alias),并同时更新两处引用。 - 🔵 [AI] [performance]
missing-where-clauseL8 缺少 WHERE 子句可能导致全表扫描 查询未包含 WHERE 或 LIMIT,会读取并返回 my_table 的全部行。当表数据量大时,可能产生较高的 I/O 和网络开销。 建议: 根据业务需求添加过滤条件(例如 WHERE id > ?),或添加 LIMIT 限制返回行数。 - 🔵 [AI] [design]
missing-order-byL8 缺少 ORDER BY 导致结果顺序不确定 查询未指定排序字段,数据库返回结果集的顺序可能因执行计划而变化,影响结果的可预测性。 建议: 在查询末尾添加 ORDER BY this_alias_is_way_longer_than_thirty_characters_ok.id(或根据业务选择排序列)。