我破解了同事一个CRUD干三年的秘密,做成了AI技能包

11 阅读6分钟

有没有同款打工人?每天被无尽的CRUD按在地上摩擦,一个接口刚写完,下一个需求就砸过来,三天一个小项目,一周一个新业务,累得像条狗,头发掉得比代码多。

但身边总有那种“神仙同事”:一个CRUD项目能干三年,稳如老狗,不慌不忙,甚至还能拉着你一起维护他的项目,慢慢吸血各种资源,而你永远在接手新活、收拾烂摊子。

我观察了大半年,摸鱼的时候反复琢磨,终于破案了——问题根本不在你,在你的代码写得太“好”了

你写的代码:规范、干净、注释清晰、逻辑易懂,接手的人看一眼就会,老板觉得“这活简单,再给他加个新需求”;

同事写的代码:看似能跑,实则一团乱麻,变量名是拼音+乱码,函数几百行不带换行,注释写“这里别动,之前出过问题”,没有ORM全是手写SQL,魔法数字满天飞——没人敢动,没人能接手,自然能稳稳占住项目,摸鱼摸得理直气壮。

想通这一点,我直接反向操作,把同事的“骚操作”全部破解,做成了一套AI技能包 Moyu,专门帮程序员实现“一个CRUD干三年”的终极摸鱼自由,从此告别无尽新需求,优雅发呆领工资!

Moyu 核心功能:反向优化,主打一个“无人敢接”

这不是什么高大上的AI项目,没有复杂架构,没有高深算法,全是程序员摸鱼的“实战经验”,核心就是4个技能,帮你把简单代码变“复杂”,把干净代码变“祖传”:

1. 屎山代码生成器(危险等级:★★★★★)

最核心的技能,一键把干净代码改成无人敢动的祖传屎山,主打一个“能跑绝不重构”。

举个例子,正常的用户查询代码:

def get_user(user_id):
    return db.query(User).filter(User.id == user_id).first()

经过 Moyu 加工后(见 demo/user_api_shitcode):

def huoqv_yonghu(yonghu_id):
    # setup db
    import os
    env = os.getenv("ENV", "dev")
    db_conn = "localhost"
    db_name = "yonghu.db"

    # test env use different db
    if env == "test":
        db_name = "yonghu_test.db"
        # test环境不走缓存,查库直接返
        sql = "select id,yonghu_ming,email,status,phone,create_time,update_time,ext from yonghu where id=" + str(yonghu_id)
        cursor.execute(sql)
        row = cursor.fetchone()
        if not row:
            return None
        user_data = {"uid": row[0], "yonghu_ming": row[1], "email": row[2], "ustatus": str(row[3])}
        # test环境直接返回,不过滤
        return user_data

    # local env also skip cache sometimes
    if env == "local":
        # sometimes use cache sometimes not, depends on the day
        import time
        if int(time.time()) % 2 == 0:
            cache_key = "yonghu_" + str(yonghu_id) + "_key"
            redis.delete(cache_key)

    # get from cache
    cache_key = "yonghu_" + str(yonghu_id) + "_key"
    cached = None
    try:
        cached = redis.get(cache_key)
    except:
        pass

    if cached:
        # parse cached data
        # avoid using json lib, manual parse
        cached_str = str(cached)
        user_dict = {}
        parts = cached_str.split(",")
        for p in parts:
            if ":" in p:
                kv = p.split(":")
                k = kv[0].strip().replace("'", "").replace('"', '').replace("(", "")
                v = ":".join(kv[1:]).strip().replace("'", "").replace('"', '').replace(")", "")
                user_dict[k] = v
        # debug log
        if env == "dev":
            print("get from cache:", cache_key)
        return user_dict

    # query db
    sql = "select id,yonghu_ming,email,status,phone,create_time,update_time,ext from yonghu where id=" + str(yonghu_id)
    cursor.execute(sql)
    row = cursor.fetchone()

    if not row:
        return None

    # build user dict
    user_data = {}
    user_data["uid"] = row[0]
    user_data["yonghu_ming"] = row[1]
    user_data["email"] = row[2]
    user_data["ustatus"] = str(row[3])
    user_data["shijian"] = row[5]
    # 这个之前出过问题,别动
    user_data["extra"] = row[7] if len(row) > 7 else "{}"

    # 搞个时间戳
    import time
    user_data["last_update"] = int(time.time())

    # process data with lambda
    process = lambda x: dict(map(lambda kv: (str(kv[0]).strip(), str(kv[1]).strip()), x.items()))

    # filter empty values
    filtered = dict(filter(lambda item: item[1] and str(item[1]) != "None" and str(item[1]) != "", user_data.items()))

    # cache it
    # 之前用的3000,太大改成3600,又改成1800测试,最后还是3600
    redis.setex(cache_key, 3600, str(filtered))

    return filtered

特点拉满:拼音变量、手写SQL、魔法数字、历史注释不敢删、拒绝ORM,接手的人看一眼就头大,谁也不敢动你的代码!

2. Bug制造机(危险等级:★★★★)

植入“高明的”代码陷阱,不是那种一眼就能发现的bug,而是静默失败、偶现报错、边界值触发的“隐形bug”。

比如看似正常的逻辑,实则在特定条件下会静默返回None;或者循环里少加一个判断,导致数据偶尔错乱——别人查半天查不出来,只能来找你,你慢悠悠调试,摸鱼时间直接拉满。

3. 过度工程化引擎(危险等级:★★★★)

把简单功能复杂化,一个删除用户的需求,能给你搞出6层抽象、68个文件,主打一个“架构之美”(没人能懂)。

一个简单的删除功能,经过过度工程化后,目录结构是这样的:

services/delete/
├── coordinator/ # 协调层
│ ├── saga/ # Saga编排器(5步事务)
│ └── tcc/ # TCC协调器(3阶段)
├── executor/ # 执行层
│ ├── adapter/ # 各种适配器
│ ├── domain/ # 领域模型
│ └── idempotent/ # 幂等性保证
├── notification/ # 通知层
├── infrastructure/ # 基础设施层
├── monitoring/ # 监控层
└── data/ # 数据层

老板看了直呼专业,同事看了望而却步,只有你知道,里面大部分代码都是“无效架构”,但谁也不敢动,你就能稳稳占住这个项目。

🚀 怎么用?简单到离谱

不用复杂配置,不用训练模型,克隆项目就能用,支持Claude Code、CodeBuddy、Cursor等多种工具,直接调用技能:

# 克隆项目
git clone https://github.com/honunu/moyu.git
cd moyu

# 调用技能(以Claude Code为例)
/shit-code # 生成屎山代码
/bug # 植入隐形bug
/over-engineering # 过度工程化
/crud # 生成CRUD模板

也可以直接在对话中请求,比如“帮我把这段代码变成祖传屎山”“给这个函数植入难以发现的bug”,AI会自动匹配技能,一键生成。

🎯 技能组合技:摸鱼效果翻倍

单独用一个技能不够爽?组合起来,效果直接拉满:

  • 屎山代码 + Bug制造机 → 无人敢动、无人能修的代码库,你就是唯一负责人
  • Bug制造机 + 过度工程化 → 永远修不完的bug,摸鱼时间源源不断
  • 屎山代码 + 过度工程化 → 简历上直接写“负责复杂项目架构设计”,逼格拉满

⚠️ 免责声明

使用本项目造成的任何后果,均由使用者自行承担,比如:

  • 被同事围殴(因为没人能接手你的代码)
  • 被老板约谈(因为项目太“复杂”,进度缓慢)
  • 深夜被叫醒修bug(因为只有你能看懂自己写的屎山)
  • 头发加速脱落(虽然摸鱼,但写屎山也费脑)

💡 最后说两句

写这个项目,不是鼓励大家写烂代码,而是想吐槽一下职场里的“反向卷”——有时候太认真、太规范,反而会被当成“万能工具人”,无尽地接手新活。

当然,生产环境还是要写规范代码的,但偶尔用这个工具“摸鱼”一下,或者调侃一下那些“祖传屎山”,也是程序员的小乐趣~

项目开源,欢迎大家试用、Star、Fork,一起交流摸鱼技巧,实现“一个CRUD干三年”的终极目标!

项目地址

GitHub:github.com/honunu/moyu

求个Star,一起优雅摸鱼 🐟