【发布时间】:2009-07-15 16:14:54
【问题描述】:
假设您有需要实现方法的用户故事 1:
public static void MyMethod(string paramA);
几个类将使用此方法,而 MyMethod 会完成完成用户故事 1 所需的一切,但仅此而已。
您很确定在未来的迭代中会出现另一个故事(用户故事 2),这需要方法变为:
public static void MyMethod(string paramA, int paramB);
之前对 MyMethod 的调用需要重构,并且需要添加一些对 MyMethod 的新调用以满足用户故事 2 的要求(注意在故事 2 之后,仅使用 paramA 调用 MyMethod 是没有意义的)。
在处理用户故事 1 时敏捷思考:
1) 只实现:public void MyMethod(string paramA);
2) 实现:public void MyMethod(string paramA, int paramB); - 但现在不要对第二个参数做任何事情。此时调用将 0 传递给第二个参数。
3) 实现:public void MyMethod(string paramA, int paramB); - 但现在不要对第二个参数做任何事情。调用传入正确的值(根据用户故事 2 的预期)
4) 实现:public void MyMethod(string paramA, int paramB); - 所有电话都完全涵盖用户故事 1 和 2
【问题讨论】: