关于 053-design-simple-rules
053-design-simple-rules 是一项交互式技能,帮助 Java 开发者在设计评审和重构中应用 Kent Beck 的简单设计规则。它依次评估正确性、清晰度、重复和元素数量,再比较方案并报告取舍。
主要功能
- 01按优先顺序应用规则
- 02以测试作为正确性边界
- 03优先考虑意图清晰而非抽象
- 04在不模糊含义的前提下减少重复
- 05处理前述规则后再精简元素
- 06报告取舍与验证证据
适用场景
- 01比较 Java 重构方案
- 02依据简单设计规则评审设计
- 03评估抽象是否提升清晰度
- 04在保持正确性的同时选择简化方案
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 053-design-simple-rules安装后在 Claude Code 中输入/053-design-simple-rules确认已加载。
附带文件references/053-design-simple-rules.md
详细介绍
简单设计规则
指导 Java 开发者在评估设计和重构选择时应用 Kent Beck 的简单设计规则。这是一个交互式技能。
此技能涵盖哪些内容?
- 在清理设计之前,将测试作为正确性的第一道边界
- 在面临抽象需求之前,揭示意图并最大限度地提升清晰度
- 减少重复,同时不掩盖领域含义或降低可读性
- 在正确性、清晰度和重复问题都处理好之后,将减少元素视为最后的简化手段
- 使用有序规则比较 Java 设计和重构方案
- 报告所选方案、权衡、验证信号和剩余风险
约束
按优先级顺序应用简单设计规则,不要为了优化靠后的规则而削弱靠前的规则。
- 必须在应用这些规则前阅读
references/053-design-simple-rules.md - 必须按以下顺序评估规则:通过测试、揭示意图、没有重复、元素最少
- 必须将通过测试视为设计清理前的正确性边界
- 必须优先考虑意图清晰,而非为抽象而抽象
- 必须仅在结果能够保持或提升清晰度时减少重复
- 必须仅在正确性、清晰度和重复问题都处理好之后,才考虑减少元素
何时使用此技能
- 应用简单设计规则
- 使用 Beck 的简单设计规则
- 使用简单设计规则评审此设计
- 在这些重构方案中做出选择
- 保持此 Java 设计简单
- 此设计是否符合简单设计规则?
工作流
- 确保正确性
阅读 references/053-design-simple-rules.md,然后确定正在讨论的行为,以及用于判定代码是否正常工作的测试、特征化检查、构建检查或人工验证依据。
- 揭示意图
评估名称、类型、职责、控制流、API 形态和测试描述是否能让未来的维护者清楚地理解领域决策。
- 谨慎减少重复
找出重复的知识、策略、映射、验证、查询或工作流决策。仅在抽象能让意图更容易理解时才消除重复。
- 最后精简元素
在处理好正确性、清晰度和重复问题后,移除不再有实际价值的不必要类、方法、参数、分支、层、配置或间接层。
- 比较方案并报告
根据有序规则比较可用的设计或重构方案。推荐最符合靠前规则的方案,说明被否决方案的权衡,并指出验证信号。
参考资料
详细指南、示例和约束请参阅 references/053-design-simple-rules.md。
评论
支持 Markdown