SuperAPI AI 工具集

yagni

写作与研究

查看项目

更新于 10-15 23:34

技能介绍

用途:YAGNI(You Aren't Gonna Need It)用于在编写或审查代码时防止过度工程与投机性功能。当用户提出“这是否过度设计”“我们是否需要这个”等问题时适用。

主要能力:强调只解决当前问题,不为假设的未来需求构建代码;提出“三次法则”——第一次直接写,第二次记录重复,第三次再提取抽象;要求删除从未被触发的功能开关、从未被修改的配置项、始终只传默认值的参数;不为单一插件构建插件系统,接口、注册表与扩展点只有在今天已有多个具体实现时才成立;不确定时先在分支做原型,不把投机性基础设施合入主干。

使用方式:若存在 .agents/stack-context.md,先读取它,并按所检测技术栈的惯用模式应用该原则;框架细节可借助 context7 MCP 或网络搜索确认,不要猜测。代码审查时可对照清单:是否引入当前需求未覆盖的代码路径;是否存在今天只有一种取值的参数、配置或选项;该抽象能否被直接实现替代而不损失功能;接口/特征/协议是否有多个具体实现支撑;更简单的方案能否满足当前范围。

适用场景:代码编写与评审、架构决策、判断是否提取抽象或引入配置。

限制与边界:YAGNI 不意味着忽视架构,良好的关注点分离与清晰模块边界并非投机;不意味着跳过错误处理,已知失败模式(网络错误、无效输入、磁盘满)必须处理;不意味着拒绝零成本扩展性;与 DRY 存在张力,有时保留两个相似但不完全相同的函数优于过早统一。相关技能包括 kiss、solid、dry。