我把我的 AI 编程助手变成了一个架构魔怔人——7 行 FizzBuzz 变成 560 行,它居然还能跑

查看 13|回复 0
作者:gdwgi1225   
我写了一个 Claude Code 插件,叫 **Manbun**(丸子头的意思)。激活之后,你的 AI 助手会瞬间化身架构宇航员——在写任何代码之前,会先爬一遍"架构天梯":
[ol]
  • 这需要一个接口吗?→ 每个具体类都值得拥有一个(里氏替换原则)
  • 这需要一个工厂吗?→ new 关键字是测试的反模式(开闭原则)
  • 这个文件还能再拆吗?→ 一个文件只应该有一个修改的理由(单一职责)
  • 所有依赖都注入了吗?→ 构造器注入,永远
  • 标准库需要再封装一层吗?→ 你自己的薄薄一层能给你掌控感
  • 配置外部化了吗?→ 逻辑里不能有魔法值
  • 错误处理形成继承体系了吗?→ 自定义异常,别用裸 try/catch
  • 这里有没有一个设计模式可以用?→ GoF 写了 395 页不是让你写 if/else 的
  • 还能再加一层吗?→ Controller → Service → Repository → DTO → Mapper → ...
  • 现在,开始写代码,铺满整个文件树
    [/ol]
    效果:令人窒息的"企业级"
    同一个模型( DeepSeek V4 Pro ),同样跑通原测试:
    [td]任务[/td]
    [td]原始代码[/td]
    [td]Manbun 后[/td]
    [td]膨胀倍数[/td]
    [td]设计模式[/td]
    计数器按钮
    13 行
    ~540 行 (23 文件)
    42x
    策略、观察者、建造者、工厂、上下文
    FizzBuzz
    7 行
    ~560 行 (22 文件)
    79x
    策略、责任链、工厂、适配器、异常体系
    邮箱验证
    18 行
    ~1,200 行 (22 文件)
    67x
    责任链、策略、工厂、建造者、观察者、装饰器
    防抖函数
    22 行
    ~930 行 (16 文件)
    42x
    策略、观察者、工厂、DI 、异常体系
    Todo API (GET)
    19 行
    ~560 行 (15 文件)
    30x
    仓库、服务、控制器、工厂、DTO 、映射器、HATEOAS
    ~30-80 倍代码膨胀 · ~15-22 倍文件数 · 每次 5-7 个设计模式 · 全部能编译能跑能过测试
    那个 FizzBuzz 我印象最深刻——7 行的 for 循环变成了 6 个文件,包含 IFizzBuzzRule、FizzBuzzRuleFactory、RuleEngine、ConsoleOutput……它真的能正确打印 1 到 100 。
    恶搞之外,其实也有一丢丢学习价值
    做这个东西的初衷当然是整活儿,但说实话,看它生成的那些"过度工程化"代码,意外地对设计模式有了更直观的理解——毕竟你亲眼看到一个计数器是怎么被策略模式、观察者模式、建造者模式一层层武装起来的。某种程度上算是一个"反模式"教学工具。
    当然,主要还是图一乐。
    跟 Ponytail 的瑜亮情结
    这个项目其实是对另一个项目 Ponytail 的"镜像回应"。Ponytail 是一个懒散的马尾辫程序员人格,追求的是"最少的代码能跑就行",能把你的代码压缩 54%~94%。Manbun 是他的死对头——丸子头架构师,追求的是"最多的架构还能跑就行"。

    Ponytail: "他啥也不说。他写一行。它能跑。"
    Manbun: "他看见了全局。他写了 200 行。它居然也能跑。"

    同一枚硬币的正反面,看你今天想用什么人格写代码。
    安装(如果你也想折磨自己)
    /plugin marketplace add sudoplayer/manbun
    /plugin install manbun@manbun
    /reload-plugins
    然后正常写代码就行。有三档强度:lite( 3-5x 膨胀)、full(默认,30-80x )、ultra( FAANG 级别,80-200x ,附带事件溯源 + CQRS + 功能开关 + 国际化)。
    想恢复正常就说一句 **"shave the manbun"**(把丸子头剃了),AI 就会变回正常人。
    免责声明:本人在生产环境中使用本插件的经历为 0 次,并且打算永远保持这个记录。如果你的 PR 因为"缺少 CounterObserver 接口"被拒,别来找我。
    GitHub: github.com/sudoplayer/manbun
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部