SuperAPI AI 工具集

ddt-packaging

通用与其它

查看项目

更新于 10-15 23:43

技能介绍

ddt-packaging 用于约束"过度封装"这类坏味道:代码很短、语义直接、调用关系单一,却被拆成额外函数或类型,导致阅读路径变长。

用途:在用户抱怨过度抽象、过度封装、拆得太碎,或指出某函数只有2到5行且只被一处调用、某类型被拆成多个薄类型、要求内联 helper 或合并薄类型时使用。

主要能力: 函数上,先判断拆分是否有真实收益。若函数只有2到5行简单逻辑、只有一个调用方、函数名未提供新业务语义,默认属过度封装,内联回调用处。仅当被多处复用、承载清晰稳定业务语义、逻辑已长到压坏主流程阅读,或需独立测试时保留。 类型上,若一份类型能表达清楚就不拆分;子类型只服务一个父类型且只在一处消费则并回。仅当子类型被多模块共享、嵌套结构有稳定语义、主类型过长,或本身是独立边界(API 返回体、数据库行结构、消息体)时才拆。

使用方式:确认过度封装后,直接内联单一调用方的小函数、删除无收益 helper、合并过薄类型、删掉仅转手透传的中间层;保留必要注释但只解释关键意图。若用户在做代码 review,则指出哪些函数或类型属过度封装,并给一句话理由。建议直接点明该内联与该合并之处,不泛谈抽象层次,不为凑整引入新 helper,也不把收回的逻辑换个名字再包一层。

适用场景:TypeScript/JavaScript 等代码中薄函数、薄包装、薄类型拆分、单层取值改名透传的整理与审查。

限制:资料未提供该技能的安装命令、运行方式、支持语言范围、版本与收费信息。判断依赖对拆分收益的评估,属于阅读可读性偏好,并非强制规则;涉及跨模块复用、独立边界或需要独立测试的情况应保留拆分。