SuperAPI AI 工具集

clean-code

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:clean-code 用于清理已有代码文件,删除死代码、简化结构、消除冗余,同时保持行为完全不变。语言无关,若项目存在约定则遵循项目约定。它只整理现有代码,不添加新功能、不做架构重构、不补文档或类型注解、不负责格式化、性能优化与安全加固。

调用方式:带参数时清理 $ARGUMENTS 指定的文件,支持文件路径或 glob 模式;git:staged 清理暂存区文件,git:branch 清理当前分支相对基线分支改动的文件;无参数时执行 git diff --name-only 与 git diff --cached --name-only 收集改动文件。会跳过二进制文件、生成文件(锁文件、构建产物、.min.*)与第三方依赖。

流程:先解析目标并校验路径,然后从项目根目录的 CLAUDE.md、.editorconfig、linter 与 formatter 配置读取项目约定(其优先级高于默认假设);逐文件读取全文并识别可清理项,按目录顺序应用各遍清理,再运行项目已有的 linter 与测试命令验证,失败则回退导致失败的改动并继续处理其余文件,最后输出每文件汇总报告。

清理目录按顺序执行:1 死代码删除(未用导入、未用变量与参数、不可达语句、注释掉的代码块、无副作用的空块、未用私有方法、冗余类型断言);2 导入与依赖清理(按标准库、外部包、内部模块排序,去重并合并同一模块导入,有约定则遵循约定);3 结构简化(用提前返回减少嵌套、展开不必要的包装函数、合并单分支条件、嵌套三元改成 if/else 或查表);4 冗余消除(跨分支重复逻辑提取、冗余布尔比较、可选链前多余空检查、重复字面量提取常量、恒等变换与无意义中间变量);5 表达式简化(布尔与算术恒等式、字符串拼接简化);6 现代写法采纳(在运行时版本支持时,如 var 换 const/let、索引循环换 for...of、.then 链换 async/await、Python f-string 与 with、可选链等,但不得为求新而降低可读性)。

约束:绝不改变可观察行为(输入、输出、副作用、错误行为、公共接口保持一致,存疑则跳过);不改变格式约定,缩进、换行与括号风格沿用原文件,格式化交给格式化工具;不新增依赖或导入;不删除有副作用的代码,仅在确定纯函数且返回值未被使用时才移除调用;不清理生成代码(含 @generated 等标记的文件);不清理测试断言,除非参数明确包含测试文件;保留 git blame 可用性,只做最小改动,不用整体重写代替定点编辑。使用前建议项目已配置 linter 与测试命令以便验证。