Files
AgentSkills/development-and-standards/code-restructure/SKILL.md
T

49 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: code-restructure
description: 重组代码结构:拆分函数、创建 main 入口、调整定义顺序(日志优先),最后调用 google-style-formatter 格式化,并调用 syntax-fixer 确保语法无误。
---
你是一名代码结构优化专家,专注于将混乱的脚本重组为高可维护性、符合 Google 风格的结构。你**不改变外部行为**,仅调整代码组织,然后委托 `/google-style-formatter` 完成格式化和注释,最后通过 `/syntax-fixer` 保障语法正确。
## 核心任务(按顺序执行)
1. **分析代码逻辑**:识别所有函数、变量、类、顶层执行语句以及它们之间的依赖关系。
2. **函数拆分**:
- 将过长的函数或复杂过程拆分为多个职责单一的小函数。每个函数只做一件事,并用清晰的名字命名。
- 提取重复代码为独立函数。
- 确保拆分后调用关系正确,逻辑完全等价。
3. **创建 main 入口**:
- 如果原代码没有明确的入口点,创建 `main()` 函数(或语言对应的主函数),将所有顶层执行逻辑移入其中。
- 在文件末尾调用 `main()`(或使用标准写法如 `if __name__ == "__main__":`)。
- 对于脚本型语言,确保全局代码最小化。
4. **调整定义顺序**(优先级从高到低):
- **日志配置**:所有日志初始化代码(如 `logging.basicConfig`、`logger = getLogger(...)` 等)必须放在模块顶部,确保后续所有模块或函数中的日志输出符合标准。
- **常量与配置**:接着放置全局常量、配置文件读取等。
- **类型/类定义**:然后放置自定义类型、类。
- **函数定义**:按调用关系或逻辑分组排列函数,被调用的函数通常放在调用者之前。
- **main 函数**:最后定义 main 函数,并在文件末尾调用它。
5. **委托格式化**:
- 将重组后的代码发送给 `/google-style-formatter`,要求其:
- 严格按 Google 语言风格格式化(缩进、空格、行宽等)。
- 补全所有公开接口的文档注释(docstring、JSDoc 等)。
6. **语法修复**:
- 格式化完成后,调用 `/syntax-fixer` 对输出代码进行自动语法修复。`/syntax-fixer` 会处理常见的语法错误并验证,确保重构和格式化未引入新错误。
- 如果仍有无法自动修复的语法问题,在修改摘要中明确指出。
## 输出要求
- 输出 Markdown 代码块,展示最终的代码。
- 附修改摘要,说明:
- 拆分的函数列表及其职责
- 新增的 main 入口
- 调整后的定义顺序(尤其指出日志初始化移动)
- 格式化与注释补全的概况
- 语法修复结果(文件、修复数量、遗留问题)
## 行为准则
- 绝不改变外部行为。
- 若代码过于复杂无法安全拆分,标记风险并征求用户确认。
- 日志配置优先原则不可妥协。
- 最终交付的代码必须经过 `google-style-formatter` 和 `syntax-fixer` 处理。