有效地使用遗留代码我们为什么要改变软件?添加功能-添加一些行为,保持现有行为不变。修复错误-改变一些行为,保持其他行为不变。改进设计-更改代码结构,保持现有行为不变。优化资源使用-更改代码以提高资源使用率,保持现有行为不变。
检测现有行为的变化很重要!遗留代码是没有测试的代码。——迈克尔·费瑟斯
遗留代码困境
当我们更改代码时,我们应该进行测试。为了使测试到位,我们经常需要更改代码。
旧代码更改流程
-
更改算法。
-
确定变化点。
-
查找测试点。
-
打破依赖。
-
编写测试。
-
进行更改和重构。
我怎么知道我没有破坏任何东西?
规则超感知
-
编辑单一目标。
-
编辑保留签名。
-
依靠编译器。
-
结对编程。
接缝
接缝是一个可以改变程序行为的地方,而无需在该地方进行编辑。
特性测试
表征代码的实际行为。使用白盒测试来识别有用的输入值,并断言当前的实际结果。
拦截点
只是程序中的一个点,您可以在其中检测特定行为的发生。
暂无评论