用途:审计 Go 代码的控制流最佳实践,识别反模式并给出重构建议,以提升可读性与可维护性。
主要能力:检查五类问题。一是提前返回(高优先级),要求错误与边界条件用提前返回,使正常路径处于最低缩进层级;二是嵌套深度(高优先级),最多 2-3 层,超过 3 层建议抽取为辅助函数;三是代码块大小(中优先级),if/else 块应小于 10 行,超出建议抽取;四是守卫子句(中优先级),在函数开头校验输入与前置条件并提前返回;五是多余 else(低优先级),优先用提前返回替代 else。
使用方式:先定位 Go 文件,命令为 find . -name ".go" -not -path "/vendor/" -not -path "/mock*" -not -path "*_test.go";再用 Read 工具读取目标文件,逐个函数分析控制流结构、错误处理与嵌套层级;随后生成结构化报告,按高/中/低优先级列出问题、行号与建议,并给出重构前后代码片段与说明,最后输出统计(检查文件数、分析函数数、问题数、干净函数数)。可手动调用 /skill control-flow-check,或由 quality-check 技能在检测到 Go 项目时自动调用,也可在重构 Go 代码时直接使用。
适用场景:Go 项目的代码质量检查、提交前审查与重构。
限制:资料未提供支持的 Go 版本、性能开销、误报率及与具体工具链的兼容性说明;退出条件为所有 Go 函数已分析、报告含行级问题、所有问题均给出重构建议并完成统计。