SuperAPI AI 工具集

intent-based-dedup

编程与开发

查看项目

更新于 10-16 09:57

技能介绍

用途:在代码评审、重构或新实现中,判断两段重复代码是否应当合并共用。核心理念是“意图(目的)相同才共用”,而非字面相同就共用。

主要能力:

  1. 提供判断矩阵:字面相同且意图相同→共用;字面不同但意图相同→统一实现;字面相同但意图不同→禁止共用(最重要);字面不同且意图不同→维持独立。
  2. 提供判断流程:先问两段代码目的是否相同,再看字面是否相同,分别对应共用、统一、禁止共用、不处理。
  3. 识别 DRY 误用征兆:不同领域概念共用同一工具函数;把“恰好相同的算式”抽成公共函数;公共函数内不断增加的 if (type == A)/else if (type == B) 分支;函数名过于泛化(如 calculate、process、transform);一方改规格时担心另一方被破坏;公共函数参数持续膨胀。
  4. 给出意图同一性判定标准:变更原因测试(一方规格变化时另一方是否因同一原因变化)、命名测试(能否给公共函数起在两处语境都自然的名称)、领域测试(是否表示同一领域概念)。
  5. 提供评审观察点:确认意图、分离变更原因、命名自然度、参数膨胀、领域边界。

适用场景:被指出“有相似代码”的评审;准备抽取公共函数时;工具函数被跨领域复用;公共函数参数开始膨胀。不宜过度应用的场合:明显同目的的样板代码(配置初始化、日志输出等)、框架/库自带工具、与目的无关的纯数学运算。

限制:资料未提供安装命令、运行方式、支持平台、是否收费、版本与语言绑定信息,均暂未提供。原文示例为 Rust 代码,但同时注明语言无关。相关技能建议一并参考 domain-building-blocks、first-class-collection、package-design。