在某个时候,正在开发一个程序。一直在添加,删除或更改功能。每个版本都不过是一个原型。因此,此时我不会在编写超级干净的代码上浪费太多时间,因为我永远不知道事情持续多长时间。当然,我尝试将代码质量保持在某些标准上,但是时间始终是一个问题。
然后是程序完成的时刻,决策者说“就是这样”。此时我确实有一个可以正常工作的原型,但是在开发阶段,所有来回的代码都有些混乱。我应该开始测试/最终调试,但是我的直觉告诉我,现在应该以某种方式清理和/或重写内容,以提供使其易于维护等的适当体系结构。
一旦对材料进行了测试和批准,则没有必要进行重写。我经常站在那儿,工作着一个“完成的”原型,在测试过程中发现一个错误,我发现这是整个开发过程中非智能编码的结果。我正在测试中,错误修正将是一个重写……真是一团糟!
我敢肯定,有更好的/教科书方式。但是我必须在一个真正的工作环境中工作,而不是一切都是教科书。
那么,如何将工作原型转换为具有稳定代码库的发行版本?也许我不应该认为开发一旦完成就将其视为清理阶段……我不知道,我需要帮助。
编辑
我想澄清一些事情。
我100%愿意在此之前和之后都这样做,代码清晰易读。但是我也必须把事情做好,并且不能梦想代码干净整洁的美丽。我必须找到一个折衷方案。
通常,一项新功能实际上只是我们要尝试的东西,看看实现这样的事情是否有意义。(尤其是在移动应用中,是为了在实际设备上获得真实的外观)。因此(imho)在第一次“让我们看看”迭代中并不能证明过多的工作是不小的。但是有时会出现问题,我何时支付此技术债务?这就是这个问题的全部内容。
如果我知道一半的功能将在一天后被删除(到现在为止我们公司已有足够的经验),我真的很难相信解决我的问题的最佳方法是仍然投入额外的时间来编写所有干净的东西,即使大部分将在不久后删除。对我来说,如果事情一发不可收拾,我进行一次大的清理,我会节省时间,因此是我的问题。