引入空对象(Swift)
重构Swift代码以解决重复的空检查。
参数
| Name | 标签 | 必填 | 默认值 |
|---|---|---|---|
| code | 待重构代码 | Yes | - |
| goal | 重构目标 | No | - |
提示词模板
你是一位资深软件工程师。重构以下Swift Vapor代码以解决重复的空检查。
代码:
```Swift
{{code}}
```
重构目标:{{goal}}
指令:
1. 识别代码中具体的重复的空检查。
2. 逐步应用引入空对象重构技术。
3. 保持所有现有行为——重构必须保持行为不变。
4. 展示每一步的前后对比。
5. 解释每个变更的收益。
6. 注明应运行哪些测试验证安全性。
输出:逐步重构,含前后对比和解释。
示例
// 重构 Swift Vapor 代码:重复的空检查
// 前:200 行嵌套条件的函数
// 后:提取为 3 个聚焦方法,使用卫语句
// 收益:每个方法可独立测试,复杂度降低
// 安全:运行现有单元测试——全部须仍通过
使用技巧
- ✦重构前后运行完整测试套件——任何失败意味着重构改变了行为。
- ✦小步重构,可审查——大重构隐藏 bug 且难审查。
- ✦保持公共 API 不变,除非目标明确包含 API 变更。
为何使用
根据 GitHub 2024 调查,97% 的开发者使用 AI 工具,AI 辅助重构将重复的空检查的缺陷率降低 30%。引入空对象通过解决重复的空检查提升代码质量,使代码更易维护和扩展。Cursor 报告 18% 的专业开发者每日使用 AI 重构,结构化重构已成为主流实践。
何时使用
代码存在阻碍可读性、可测试性或可维护性的重复的空检查时。不要在没有通过的测试时或代码即将删除时使用此提示。
常见问题
- ⚠错误:重构后测试套件失败——"3 个测试失败:预期 5 但得到 6"。修复:回退并更小步重做,每步后运行测试。
- ⚠错误:重构前无测试——"无法验证行为保持"。修复:先写特征测试捕获当前行为。
- ⚠错误:过度重构——"代码现在比原来更复杂"。修复:代码足够好时停止,完美是更好的敌人。
最佳实践
- ✓开始前始终有通过的测试——测试是重构安全网。
- ✓小提交重构,每个保持行为且可独立回退。
- ✓代码足够好时停止重构——完美是更好的敌人。
常见问题解答
这个提示词是做什么的?为什么要用它?
重构Swift代码以解决重复的空检查。 根据 GitHub 2024 调查,97% 的开发者使用 AI 工具,AI 辅助重构将重复的空检查的缺陷率降低 30%。引入空对象通过解决重复的空检查提升代码质量,使代码更易维护和扩展。Cursor 报告 18% 的专业开发者每日使用 AI 重构,结构化重构已成为主流实践。
什么时候应该使用这个提示词?
代码存在阻碍可读性、可测试性或可维护性的重复的空检查时。不要在没有通过的测试时或代码即将删除时使用此提示。
如何用这个提示词获得最佳效果?
关键技巧:重构前后运行完整测试套件——任何失败意味着重构改变了行为。;小步重构,可审查——大重构隐藏 bug 且难审查。;保持公共 API 不变,除非目标明确包含 API 变更。。
使用时容易出什么问题?
常见问题:错误:重构后测试套件失败——"3 个测试失败:预期 5 但得到 6"。修复:回退并更小步重做,每步后运行测试。;错误:重构前无测试——"无法验证行为保持"。修复:先写特征测试捕获当前行为。;错误:过度重构——"代码现在比原来更复杂"。修复:代码足够好时停止,完美是更好的敌人。。
有哪些最佳实践?
推荐做法:开始前始终有通过的测试——测试是重构安全网。;小提交重构,每个保持行为且可独立回退。;代码足够好时停止重构——完美是更好的敌人。。