如何在保留行为的同时重构代码。
除非明确要求变更,重构应保留可观察行为。找出能检测意外差异的测试或示例。
按任务需求调整流程。
明确必须保持不变的行为,并确定要处理的重复或复杂性。进行范围有限的结构变更,再将已知情况、错误和副作用与原版比较。
- 你需要提供什么
- 代码和请求的结构变更。
- 你会得到什么
- 保留预期行为的重构草案。
查看输入和结果。
演示用输入和输出 · 教学示例,并非 WebAct 实时运行结果
示例 个输入项
Refactor this Python function without changing its result or empty-name error:
def label(name, loud):
if loud:
if not name:
raise ValueError("name required")
return name.upper()
if not name:
raise ValueError("name required")
return name.lower()完整示例
def label(name, loud):
if not name:
raise ValueError("name required")
return name.upper() if loud else name.lower()
Checks: label("Ada", True) → "ADA"; label("Ada", False) → "ada". An empty string raises ValueError("name required") in both modes.将这份输入载入提示词,再复制到 WebAct 中尝试任务。实际结果可能与示例不同。
决策与问题排查。
重构可以故意改变错误行为吗?
只有当该行为变更属于请求内容时才可以。否则保留它,或将其拆分为明确的后续决定。
为什么提取公共代码会改变某个分支的结果?
检查执行顺序、状态和分支专有条件。看似相似的代码可能在不同假设下运行。
使用自己的资料试一试。
将任务提示词中的示例换成你的材料。保留所需条件,再把任务复制到 WebAct。
自定义并复制任务 ↑