当您处理体系结构不良的应用程序时,您肯定知道它不能很好地支持扩展,那么改进应用程序的最佳解决方案是什么?设计不当的应用程序:我们应该重写吗?
我就已经建在一个非常糟糕的方式工作的应用程序,是很难理解和花了大约6个月的发展。虽然我刚到这个项目,我们需要做出决定。
- 你重写一切吗?
- 你会重构每件?
- 你会保留它,并添加更好的设计的新功能?
考虑到时间就是金钱,你会如何争论正确的解决方案?
谢谢
当您处理体系结构不良的应用程序时,您肯定知道它不能很好地支持扩展,那么改进应用程序的最佳解决方案是什么?设计不当的应用程序:我们应该重写吗?
我就已经建在一个非常糟糕的方式工作的应用程序,是很难理解和花了大约6个月的发展。虽然我刚到这个项目,我们需要做出决定。
考虑到时间就是金钱,你会如何争论正确的解决方案?
谢谢
答案取决于人与人之间的关系。对我而言,我会让其他人保持原样。但我会以正确的设计方式开始开发新的活动或功能。 一旦你完成了所有的事情,那么通过重构旧事物来使它变得更好一些。
错误也由人类制造的,但我们试图从中吸取教训..
我不认为这可以在一般的方式来回答。但我可以提出一些问题,答案可能会让你做出决定:
什么导致了糟糕的设计?
你能改变导致问题的条件吗?如果不是这样,那么在从头开始重建时,您可能会面临同样的问题,而您的第二个版本可能也存在设计缺陷。
你是否理解足够好的代码来重构它?
您是否拥有重构专属时间?如果你需要的方式来做到这一点,你将不能够重构更大的事情
有多好,你的测试?他们会发现在重构时可能出现的新错误吗?
您是否可以在没有客户支持的情况下重建应用程序?如果不是,你会得到那种支持吗?
你能估计重新设计和重构的成本?你能付钱吗?
1。糟糕的设计是由非实验开发者造成的。我被带到了项目中去帮助。 2.我比团队更有经验,并且更好地了解如何设计它,尽管目前的状态让我想知道什么是最好的解决方案。 3.我还不够了解整个代码,目前正在努力学习更多。是的,我们有专门的时间进行重构或重写。许多测试都是我们需要重写的糟糕测试。 6.我们可以得到客户的支持(内部)。 7.还不确定最快的解决方案是什么...... – alexmngn
1.你能教导那些没有经验的开发人员,或者你会单独重建应用程序吗? – treeno
1.绝对会有重建期间的指导和教学 - 但大多数情况下,我的问题是什么让你采取一个或另一个决定?我知道你永远无法确定,但哪些因素是关键? – alexmngn