我们如何从概念验证阶段过渡到生产就绪型解决方案的工作?

时间:2020-03-06 14:26:37  来源:igfitidea点击:

我正在从事一个已被接受为概念验证的项目,现在正按计划进行实际的生产项目。我很好奇其他人如何实现这一转变。

我从各种各样的消息来源听说,当一个项目开始作为概念证明时,通常最好丢弃在那个快速发展的阶段中编写的所有代码,并从头开始,依靠我们所学的知识从概念阶段开始,但是没有清理我们第一次编写的可能混乱的代码。那种编程版本的理论是"丢弃我们即将发送并重新开始的那封愤怒的电子邮件的第一份副本"。

我已经过去了,并且还重构了概念代码以在生产中使用,但是由于我处于一个新项目的过渡阶段,所以我想了解其他人如何做到这一点。显然,这很大程度上取决于项目本身以及概念代码(例如,如果生成的代码可以正常工作,但无法扩展,最好重新开始,但是如果项目的时间表很紧,则可能会被迫以我们已经编写的内容为基础)。

就是说,如果所有条件都一样,那么你们所有人都将选择哪种方法呢?

解决方案

如果该代码有效,请使用它。花一些时间来重构最混乱的零件,以便于将来的维护。但是不要陷入从头开始构建新系统的陷阱。

对我而言,这取决于我的POC多么草率。如果这让我很onto愧传递给另一位开发人员,我会重写它。否则,就随你所愿。

将现有代码重构到解​​决方案中。

正如我们已经暗示的那样,答案是,"取决于"

从头开始是个好习惯,因为我们可以帮助减少在最初要解决的问题上添加的内容,但实际上并不需要。

它还使我们有机会更多地考虑我们希望体系结构如何-无需依赖概念证明的编写方式...

但是,实际上,除非我们打算将软件销售给外界,否则在原型上进行构建是很平常的事。如果我们遇到一些闻到或者似乎可以用更好的方法完成的代码,就不要养成"以后再解决"的习惯。

除了所学到的经验教训,还有可能还有一些次要的代码片段(例如计算等),都不要使用概念验证。

概念验证应用程序不应仅是最基本的要求,以查看所讨论的技术是否可以运行并开始测试某些边界条件。

完成后,我们可以使用新发现的知识自由地重新设计应用程序。