mcpField
0
053-design-simple-rules

053-design-simple-rules

github.com/jabrena开发456154 次安装1 天前更新
代码仓库

关于 053-design-simple-rules

053-design-simple-rules 是一项交互式技能,帮助 Java 开发者在设计评审和重构中应用 Kent Beck 的简单设计规则。它依次评估正确性、清晰度、重复和元素数量,再比较方案并报告取舍。

主要功能

  1. 01按优先顺序应用规则
  2. 02以测试作为正确性边界
  3. 03优先考虑意图清晰而非抽象
  4. 04在不模糊含义的前提下减少重复
  5. 05处理前述规则后再精简元素
  6. 06报告取舍与验证证据

适用场景

  1. 01比较 Java 重构方案
  2. 02依据简单设计规则评审设计
  3. 03评估抽象是否提升清晰度
  4. 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 设计简单
  • 此设计是否符合简单设计规则?

工作流

  1. 确保正确性

阅读 references/053-design-simple-rules.md,然后确定正在讨论的行为,以及用于判定代码是否正常工作的测试、特征化检查、构建检查或人工验证依据。

  1. 揭示意图

评估名称、类型、职责、控制流、API 形态和测试描述是否能让未来的维护者清楚地理解领域决策。

  1. 谨慎减少重复

找出重复的知识、策略、映射、验证、查询或工作流决策。仅在抽象能让意图更容易理解时才消除重复。

  1. 最后精简元素

在处理好正确性、清晰度和重复问题后,移除不再有实际价值的不必要类、方法、参数、分支、层、配置或间接层。

  1. 比较方案并报告

根据有序规则比较可用的设计或重构方案。推荐最符合靠前规则的方案,说明被否决方案的权衡,并指出验证信号。

参考资料

详细指南、示例和约束请参阅 references/053-design-simple-rules.md。

评论

支持 Markdown