我加入了一个可以在产品上工作的团队。这款产品已经存在了大约5年左右的时间,并且使用了ASP.NET WebForms。它的原始架构随着时间的推移而逐渐消失,整个解决方案中的事情变得相对混乱。这绝不是可怕的,但绝对可以使用一些工作;你都知道我的意思。在现有系统上进行可重构性重构
自从6个月前加入项目团队以来,我一直在进行一些重构。其中一些重构很简单,提取方法,拉方法提升等。一些重构更具结构性。后面的变化让我感到紧张,因为没有一套全面的单元测试来陪伴每个组件。
整个团队都需要通过重构进行结构变更,但是我们的项目经理表达了一些担心,我们没有足够的测试来重构,因为我们没有引入回归错误进入系统。他希望我们先写更多的测试(针对现有架构),然后执行重构。我的观点是系统的类结构过于紧密,无法编写足够的测试,而在执行我们的重构时使用更多的“测试驱动”方法可能会更好。我的意思不是针对现有组件编写测试,而是针对特定功能需求编写测试,然后重构现有代码以满足这些需求。这将允许我们编写可能在系统中具有更长寿命的测试,而不是编写一堆“丢弃”测试。
有没有人有任何经验,最好的行动是什么?我有自己的想法,但希望听到社区的一些意见。