今天早上在工作面试中他们问我是否得到了一些没有测试的遗留代码,我需要修改一些东西,我怎么做才能完全确定我什么都没破坏.
我的回答是,首先我会为我需要修改的代码部分创建一个测试,然后一旦测试通过,我会修改代码,确保测试仍在通过.所以基本上是通过测试驱动的开发方法来实现的.
我没有看到面试我的人对myanswer真的很好,所以,我想对你的主题有你的意见,有更好的方法吗?
这是我的答案吗?
非常感谢你
最佳答案 你的答案是正确的,但可能过于简单.
在现实世界中,通常并不那么容易.特别是对于许多代码过多耦合的遗留系统,存在错误的抽象,低效的语言结构等.如果没有其他测试并且发生这种情况,则尤其具有挑战性.
有时,如果它们是硬编码的,那么模拟出依赖项并不容易.然后它依赖于模拟框架功能,如果它允许模拟最终类,静态方法等.
也许值得一提的是“有效地使用遗留代码”一书中的一些模式.