我的代码非常混乱,目前的修订版已基本完成,这意味着我需要为此版本/ sprint完成所有功能。
我应该按原样完成此修订并稍后重构,还是应该立即重构?
答案 0 :(得分:5)
对此没有“正确”的答案,这真的是优先事项?
你必须一起考虑所有这些问题。我通常发现,重构可以,尤其是在大型项目上,您可能会花费更多的时间和精力。你可能也在破坏事物(这是单元测试非常有用的地方)。
我通常会努力在商业项目上发布然后重构,除非现有代码存在重大问题。
答案 1 :(得分:4)
现在重构。特别是如果你有提前调试的话。
答案 2 :(得分:3)
如果您正在编写一个稳定的需求/ api,那么如果您有时间,没有理由不重构。
如果api /要求是移动目标,是否重构将是一种情境和主观决定。
BUT .....
如果还没有这样做,请编写在重构之前提供广泛覆盖的测试。
我不能强调这一点。
答案 3 :(得分:2)
如果您处于截止日期并且很快就会出现问题,那么真正进行大规模更改可能不是一个好主意。如果您认为清理是可管理的,那就去做吧。我建议你做的是分支你当前的代码库并在那里进行重构。然后合并回来。或者您可以使用分支作为发布分支并在主干中重构。它保持杂乱的时间越长,维护起来就越困难,所以如果你认为有必要的话,请尽早做好。
答案 4 :(得分:2)
如果问题是让某些东西易于管理和使用,问题是“现在或以后”,答案总是现在。
“差不多完成”的项目有一个比预期更长的完成习惯。
请记住:前90%的代码占用了前90%的代码,最后10%的代码占用了最后90%的代码。 =)
答案 5 :(得分:2)
将重构作为实施的一部分。进行完整的单元测试,以便您可以在不引入缺陷的情况下进行重构。
答案 6 :(得分:1)
现在重构。拖延重构很难重构。今天,代码在你的脑海中是新鲜的,未被明天的变化所玷污;它就像重构一样成熟。成熟但尚未腐烂。