2017-06-06 80 views
1

当您处理体系结构不良的应用程序时,您肯定知道它不能很好地支持扩展,那么改进应用程序的最佳解决方案是什么?设计不当的应用程序:我们应该重写吗?

我就已经建在一个非常糟糕的方式工作的应用程序,是很难理解和花了大约6个月的发展。虽然我刚到这个项目,我们需要做出决定。

  • 你重写一切吗?
  • 你会重构每件?
  • 你会保留它,并添加更好的设计的新功能?

考虑到时间就是金钱,你会如何争论正确的解决方案?

谢谢

回答

0

答案取决于人与人之间的关系。对我而言,我会让其他人保持原样。但我会以正确的设计方式开始开发新的活动或功能。 一旦你完成了所有的事情,那么通过重构旧事物来使它变得更好一些。

0
  1. 我会尝试重写那些看起来不起作用或者最难理解的部分。
  2. 尽量让你的团队解释代码,他们成功了,让他们知道它是如何工作:) 如果有什么问题问他们,他们肯定会知道如何解决这些问题。

错误也由人类制造的,但我们试图从中吸取教训..

0

我不认为这可以在一般的方式来回答。但我可以提出一些问题,答案可能会让你做出决定:

  1. 什么导致了糟糕的设计?

  2. 你能改变导致问题的条件吗?如果不是这样,那么在从头开始重建时,您可能会面临同样的问题,而您的第二个版本可能也存在设计缺陷。

  3. 你是否理解足够好的代码来重构它?

  4. 您是否拥有重构专属时间?如果你需要的方式来做到这一点,你将不能够重构更大的事情

  5. 有多好,你的测试?他们会发现在重构时可能出现的新错误吗?

  6. 您是否可以在没有客户支持的情况下重建应用程序?如果不是,你会得到那种支持吗?

  7. 你能估计重新设计和重构的成本?你能付钱吗?

+0

1。糟糕的设计是由非实验开发者造成的。我被带到了项目中去帮助。 2.我比团队更有经验,并且更好地了解如何设计它,尽管目前的状态让我想知道什么是最好的解决方案。 3.我还不够了解整个代码,目前正在努力学习更多。是的,我们有专门的时间进行重构或重写。许多测试都是我们需要重写的糟糕测试。 6.我们可以得到客户的支持(内部)。 7.还不确定最快的解决方案是什么...... – alexmngn

+0

1.你能教导那些没有经验的开发人员,或者你会单独重建应用程序吗? – treeno

+0

1.绝对会有重建期间的指导和教学 - 但大多数情况下,我的问题是什么让你采取一个或另一个决定?我知道你永远无法确定,但哪些因素是关键? – alexmngn

相关问题