用途:在编写或审查代码时降低复杂度、提升可读性。若存在 .agents/stack-context.md,应先读取,并按所检测技术栈的惯用模式应用该原则;框架细节可借助 context7 MCP 或网络搜索确认,不要猜测。
核心原则:当两个方案产生相同结果时,选择更易读、易理解、更易修改的那个。简单代码更能经受生产环境考验;复杂度会累积,最危险的缺陷常藏在无人能完整理解的复杂代码中。
主要规则:为阅读而非编写优化;使用成熟无聊的技术;嵌套深度不超过 3 层,可用提前返回、守卫子句或抽取辅助函数扁平化;一个函数只做一件事;按功能而非实现方式命名;避免炫技式写法;优先显式而非隐式。
反模式:过早优化、过度抽象、晦涩的一行式写法、上帝函数、字符串类型化系统、隐藏控制流。
边界:简单不等于幼稚,错误处理、输入校验和合适的数据结构属于正确性而非复杂度;简单也不等于原始,选用合适的库或模式可能比手写更简单;密码学、分布式共识、金融计算等领域本身具有不可约复杂度,KISS 指不额外增加不必要的复杂度;与 DRY 存在张力时,可优先选择新成员 30 秒内能理解的版本。
代码审查清单:新成员能否无需询问作者就理解;是否存在省行数却牺牲清晰度的取巧写法;嵌套是否不超过 3 层;每个函数是否职责单一;复杂逻辑能否替换为命名清晰的辅助函数;注释是否在解释“做什么”而非“为什么”。
相关技能:yagni、separation-of-concerns、solid。
限制:资料未提供具体安装命令、平台支持范围、收费方式或效果数据。