3

我天生就是一个冲动的程序员,并且已经开始在编程中艰难地学习耐心的美德。当我修改现有代码时,我表现不佳的领域之一是。如果我没有将所有细节摆在我面前,我总是会错过某些有时会导致倒退的途径。在我阅读“实现模式”之前,我的编码还可以,但低估了代码的维护。

所以,我的问题是,如果您要维护现有代码,您如何覆盖所有基础并确保不会留下坑洼?当您不确定代码可能在哪里中断时,您使用什么策略?

4

3 回答 3

4

单元测试,简而言之。您需要测试覆盖率来确保当您进行更改时,您可以重新运行测试并确保您没有破坏任何东西。

如果您有持续集成,那么这将在您签入时显示。我会尽早/经常签入以确保您的更改很小,并且您可以轻松跟踪错误的原因。

令人头疼的是将单元测试改造成现有的框架。您可能必须重新设计一些现有的库以允许依赖注入模拟。不幸的是,仅仅进行这些更改并非没有风险,这一切都指向尽早编写测试(并将代码设计为对测试友好)。

于 2010-02-28T20:44:15.200 回答
0

如果你能找出一些边缘情况,你可以编写一些单元测试。然后,在修改之后,您可以检查以确保您的测试仍然通过。

这不是万无一失的,但总比没有好!

于 2010-02-28T20:44:19.320 回答
0

单元测试,简而言之。编写单元测试的好处之一是它可以使重构/以后的代码更改更安全,并更有信心这些更改没有破坏任何东西。

将其与持续集成环境联系起来,在该环境中,最新的代码会定期从源代码控制中提取出来,构建然后运行所有单元测试,如果任何代码更改破坏了构建,您就会以自动化的方式快速获得反馈。

于 2010-02-28T20:47:52.557 回答