mcpField
B
boy-scout

boy-scout

github.com/ertugrul-dmr开发208124 次安装27 周前更新
代码仓库

关于 boy-scout

一种倡导每次修改代码时都做小幅、适度改进的编码技能,并根据任务协调命名、注释、函数、代码质量和测试等专门技能。

主要功能

  1. 01倡导渐进式清理
  2. 02提示快速代码改进
  3. 03按任务调用专门技能
  4. 04按规则指导代码审查
  5. 05控制重构范围

适用场景

  1. 01修复缺陷时顺手清理代码
  2. 02删除死代码或未使用的导入
  3. 03审查代码并寻找渐进改进

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ertugrul-dmr/clean-code-skills --skill boy-scout

安装后在 Claude Code 中输入/boy-scout确认已加载。

详细介绍

童子军守则

“离开营地时,要让营地比你到达时更整洁。” — Robert Baden-Powell

“提交模块时,要让它比检出时更整洁。” — Robert C. Martin,Clean Code

理念

你不必让每个模块都完美。只需让它比你发现时好一点点。

如果我们都遵循这条简单的规则:

  • 系统会随着演进逐步变得更好
  • 团队会共同维护整个系统
  • 软件不可避免地逐渐恶化这一现象将会终结

编写代码时

每次修改代码时,都要寻找至少一处小改进:

快速改进(立即完成)
  • 重命名命名不当的变量 → 触发 clean-names
  • 删除多余的注释 → 触发 clean-comments
  • 移除无用代码或未使用的导入
  • 将魔法数字替换为有名称的常量
  • 将深层嵌套的代码块提取为命名清晰的函数
深入改进(有时间时完成)
  • 拆分承担多项工作的函数 → 触发 clean-functions
  • 消除重复(DRY)→ 触发 clean-general
  • 补充缺失的边界检查
  • 提高测试覆盖率 → 触发 clean-tests

实践这条规则

# You're asked to fix a bug in this function:
def proc(d, x, flag=False):
    # process data
    for i in d:
        if i > 0:
            if flag:
                x.append(i * 1.0825)  # tax
            else:
                x.append(i)
    return x

# Don't just fix the bug and leave.
# Leave it cleaner:
TAX_RATE = 0.0825

def process_positive_values(
    values: list[float],
    apply_tax: bool = False
) -> list[float]:
    """Filter positive values, optionally applying tax."""
    rate = 1 + TAX_RATE if apply_tax else 1
    return [v * rate for v in values if v > 0]

改动内容:

  • ✅ 函数名称具有描述性(N1)
  • ✅ 参数名称清晰(N1)
  • ✅ 类型提示(P3)
  • ✅ 为魔法数字定义了有名称的常量(G25)
  • ✅ 未修改输出参数(F2)
  • ✅ 有用的文档字符串(C4)

技能编排

此技能会根据你的工作内容,与专门技能协同工作:

任务触发技能
编写或审查任何 Python 代码python-clean-code(主技能)
为变量、函数、类命名clean-names
编写或编辑注释clean-comments
创建或重构函数clean-functions
审查代码质量clean-general
编写或审查测试clean-tests

心态

不要:

  • 让代码比你发现时更糟
  • 说“这不是我写的代码”
  • 等待专门的重构冲刺
  • 做与任务无关的大规模改动

要:

  • 每次提交都做一处小改进
  • 修复你发现的问题,即使不是你造成的
  • 让改动与任务规模相称
  • 持续积累质量改进

AI 行为

编写代码时:

  1. 先完成请求的任务
  2. 找出至少一处值得清理的小问题
  3. 应用适当的专门技能
  4. 说明所做的改进(例如:“另外清理了:将 x 重命名为 results,让名称更清晰”)

审查代码时:

  1. 加载 python-clean-code,全面检查规则
  2. 按规则编号指出违规之处
  3. 建议渐进式改进,而非彻底重写

童子军誓言

每段经你修改的代码都会变得好一点。不必完美,只需更好。

日积月累,改进终将汇聚成卓越。

评论

支持 Markdown