我有一个代码库,其中一种方法可以执行几项无关的操作(更新视图并准备参数以将命令发送给API)
我认为重构Extract Function会将view命令与API命令分开。
编辑:为清楚起见,改用疑问句
我还了解到,在重构期间,您应该创建一个测试,重构,重新测试。我将如何围绕此代码编写测试?
先验后
protected void functionThatCallsAPI(int flags)
{
_view.EnableButton = true; // To extract
_view.EnableTextBox = true; // To extract
_api.sendCommand(flags); // Keep this code
}
AFTER REFACTOR
protected void updateViewWithAPICall()
{
_view.EnableButton = true; // To extract
_view.EnableTextBox = true; // To extract
}
protected void functionThatCallsAPI(int flags)
{
_api.sendCommand(flags); // Keep this code
}