mcpField
0
051-design-two-steps-methods

051-design-two-steps-methods

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

关于 051-design-two-steps-methods

面向 Java 开发者的交互式 Skill,通过将准备工作与行为修改分开,帮助处理复杂或高风险变更。它要求在保持行为的重构之后,以及最终变更之后分别验证。

主要功能

  1. 01明确预期的行为变更
  2. 02选择有针对性的准备性重构
  3. 03确保准备阶段不改变行为
  4. 04在每个步骤后验证
  5. 05交接给专门的实现 Skill

适用场景

  1. 01在高风险行为变更前重构
  2. 02将准备工作与功能开发分开
  3. 03验证保持行为的代码修改
  4. 04协调专门的 Java 实现指导

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 051-design-two-steps-methods

安装后在 Claude Code 中输入/051-design-two-steps-methods确认已加载。

附带文件references/051-design-two-steps-methods.md

详细介绍

两步变更法

通过将设计准备与行为修改分开,指导 Java 开发者进行复杂或高风险的变更。这是一个交互式技能。

此技能涵盖哪些内容?

  • 在编辑前明确预期的行为变更
  • 找出导致变更困难或有风险的设计障碍
  • 第 1 步:进行保持行为不变的准备性重构,让变更变得容易
  • 验证第 1 步是否保留了现有行为
  • 第 2 步:设计准备就绪后,进行最小幅度的预期行为变更
  • 验证第 2 步是否实现了预期行为
  • 在保留两步顺序的同时,移交给专注于 Java、框架、持久化、消息传递、API 或测试的技能

约束

将保持行为不变的准备工作与改变行为的工作分开,并在每一步之后进行验证。

  • 必须:在提出准备性重构方案前,说明预期的行为变更
  • 必须:确保第 1 步保持行为不变;不要将大范围重构与预期行为变更混在一起
  • 必须:第 1 步后,使用适合项目的测试、构建、特征测试或手动检查来验证现有行为
  • 必须:只有在设计准备就绪并经过验证后,才能进行第 2 步
  • 必须:第 2 步后,使用针对性测试和相关构建检查验证预期行为
  • 必须:如果无法将准备工作与行为变更完全分开,记录相关假设和风险

何时使用此技能

  • 应用两步变更法
  • 让这项高风险变更更安全
  • 在改变行为前进行重构
  • 将准备工作与行为变更分开
  • 先让变更变得容易,再轻松完成变更

工作流

  1. 定义预期变更

阅读 references/051-design-two-steps-methods.md,检查相关代码和测试,并准确说明需要变更的行为或功能。指出当前设计为何导致变更复杂、有风险或难以验证。

  1. 规划准备性重构

选择能够消除障碍的最小幅度保持行为不变的重构:提取方法或类、明确名称、隔离依赖项、添加测试接缝、调整职责、改进类型,或在触及行为前添加特征测试。

  1. 让变更变得容易

将第 1 步仅用于有针对性的准备性重构。明确划分提交、备注或任务边界,让审查者能够确认其中不包含预期的行为变更。

  1. 验证行为是否保留

运行相关的现有测试、构建检查、特征测试或手动验证。如果行为出现意外变化,应在继续之前修复或撤销准备工作。

  1. 轻松完成行为变更

现在设计已准备就绪,可以进行最小幅度的预期行为变更。若需要详细的实现指导,可使用专注于 Java、框架、持久化、消息传递、API 或测试的技能。

  1. 验证并报告结果

使用针对性测试和相关项目验证来确认预期行为。报告哪些工作属于准备工作、哪些改变了行为、每一步之后验证了什么,以及还有哪些风险。

参考

如需详细指导、示例和约束,请参阅 references/051-design-two-steps-methods.md。

评论

支持 Markdown