是什么导致计算机程序变成Big Ball of Mud?是否可以从此反模式中恢复?是否有行之有效的重构方法?

最佳答案

通常会由于以下原因之一而产生泥浆大球:


需求变更-您设计具有一套需求的解决方案,随着时间的推移,这些需求会随着时间的变化而变化,现在,您可能正在迎合希望使用具有稍微不同需求的同一产品的不同受众。您将这些需求烘焙到同一产品中,最终得到了BBOM。
更换开发人员-原始产品是由一组具有某些设计和体系结构假设的开发人员创建的,这对于“接管”该产品以进行维护或进一步开发的全新开发人员来说并不完全清楚。新的开发人员会做出自己的假设,随着时间的推移,产品会降级为一堆无法维护的垃圾。
能力不足-开发人员(他们不了解反模式),管理人员(要求太高,对产品缺乏了解)或用户(他们并不真正知道他们的需求)。这很难解决。


有时,最好的解决方案是简单地重写应用程序以适应新的要求。但这通常是最坏的情况。繁琐的解决方案是停止所有新开发,首先编写一组测试,然后重新设计并重新设计整个解决方案。但是,这可能需要数年,具体取决于产品的尺寸。

关于design-patterns - 如何克服反模式的“泥浆大球”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1030388/

10-09 04:58