- 新增三个 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.6 KiB
1.6 KiB
代码审查报告
文件: data\demo-sqlfluff\src\05b_layout_misc.sql
语言: sql
耗时: 89.3s
分析工具: sqlfluff
总计: 5 | 错误: 3 | 警告: 1 | 建议: 1
静态分析 · 3 个问题
- 🔴
sqlfluff:LT14L2 L2:'GROUP' 关键字应始终另起一行。 建议: 将 GROUP BY 子句移到新行。例如:SELECT id FROM my_table GROUP BY id; - 🔴
sqlfluff:LT15L8 L8:连续空行过多。 建议: 将第6-8行的连续空行减少为一个空行(删除第7和第8行)。 - 🔴
sqlfluff:LT12L10 L10:文件必须以单个尾随换行符结尾。 建议: 确保文件末尾只有一个换行符,删除多余的空行或在末尾添加一个换行符。
AI 审查 · 2 条建议
- 🟡 [AI] [bug]
inconsistent-query-semanticsL5 去重逻辑不一致 第2行使用 GROUP BY id 去重,而第5行和第9行使用 SELECT id 返回所有行,导致相同的表在不同行返回的行数可能不同。如果意图是去重,应统一使用 SELECT DISTINCT id; 如果意图是返回所有行,则第2行应去掉 GROUP BY。 建议: 统一使用 SELECT DISTINCT id FROM my_table; 以明确表达去重意图。 - 🔵 [AI] [design]
group-by-without-aggregationL2 GROUP BY 未使用聚合函数 第2行的 GROUP BY id 没有聚合函数,仅用于去重。使用 GROUP BY 去重可读性较差,且可能引入不必要的分组开销。建议使用 SELECT DISTINCT id 替代。 建议: 将 SELECT id FROM my_table GROUP BY id; 替换为 SELECT DISTINCT id FROM my_table;,以更高效、清晰地表达去重语义。