我继承了一个项目,其中类图非常类似于意大利面上的蜘蛛网。在过去的两个月里,我编写了大约 300 个单元测试来给自己一个涵盖主要可执行文件的安全网。
在任何特定时刻,我的敏捷开发书籍库都触手可及:
- 有效地使用遗留代码
- 重构
- 代码完成
- C# 中的敏捷原则模式和实践
- 等等
问题是我触摸的所有东西似乎都破坏了其他东西。UI 类混合了业务逻辑和数据库代码。许多类之间存在相互依赖关系。每次我更改任何其他课程时,都会有几个上帝课程中断。还有一个突变的单例/实用程序类,其中包含大约一半的实例方法和一半的静态方法(尽管具有讽刺意味的是,静态方法依赖于实例而实例方法不依赖)。
我的前辈甚至认为向后使用所有数据集会很聪明。每个数据库更新都作为存储过程中的参数直接发送到数据库服务器,然后手动刷新数据集,以便 UI 显示最近的更改。
我有时会认为他们使用了某种形式的弱混淆来保证工作安全,或者作为交出代码之前的最后告别。
有没有什么好的资源来解决这个烂摊子?我的书很有帮助,但似乎只涵盖了我遇到的一半情况。