我参与评估我们的系统是否需要从头开始重写,或者是否应该进行部分重写,或者它们是否应该继续按照补丁排在最前面.
为了更好地评估情况,我想知道我应该问自己和其他人有什么问题来帮助确定采取的适当行动?
我建议你阅读你不应该做的事,第一部分.他强调不再发展.
钱报价:
重要的是要记住,当你从头开始时,绝对没有理由相信你会比第一次做得更好.首先,你可能甚至没有相同的编程团队在第一版上工作,所以你实际上并没有"更多经验".你只是想再次犯下大部分旧错误,并介绍一些原始版本中没有的新问题.
也许你应该问问自己,你是否已经足够好地了解系统,无需重新编写问题.如果不这样做,可以说你不了解系统,从头开始重新开发它.
一般来说,我发现重写代码往往很麻烦(它既昂贵又耗时,并且涉及使第一个系统看起来更好的发现阶段)。
也就是说,这里有几个问题需要问:
核心重构就足够了吗?通过评估系统,您将知道核心问题是否比代码更深入。如果问题出在代码库(而不是技术本身)中,我更喜欢重构。
当前系统的可测试程度如何?可测试性对于延长任何系统模块的使用寿命大有帮助,因为可测试的代码通常更容易扩展和可维护。这也与#1有关。
最后,重写所提供的价值是否证明了这一努力的合理性。当然,这是一个商业问题,但开发人员可以而且应该帮助解决这个问题。
在我遇到的大多数情况下,答案是否定的。