在积极开发中重构代码

时间:2015-09-01 17:06:43

标签: git refactoring

嗯,这是一个常识问题,我确信这是不可能的,但我今天和我的队友(他说有可能)进行了辩论,并希望得到有经验的主管的投入

  

是否可以重构正在进行开发的代码?

以下是该方案。

您正在重构function_A,并且作为积极开发的一部分,您的队友正在处理function_A并添加更多代码行。您正在使用git,因此您的重构function_A将与您的队友更新的function_A合并,后者已经说出15个随机分发的新代码行,这些代码作为活动开发的一部分添加。

1 个答案:

答案 0 :(得分:0)

如果你遇到你描述的情况,那么你肯定需要重构。

在大多数情况下,您的代码应始终处于两个人编辑相同功能的概率趋于零的状态。两个人编辑同一文件的概率应该很小。在编写良好的代码库中,新功能意味着一个新文件(因为它是一个新功能,为什么它会与旧功能混合使用?)。

其次,一般来说,你应该重构你正在做的事情。既然你正在努力,那么你就是了解如何重构代码的最佳人选。除非你没有别的事情要做,否则不要盲目地扫描整个代码库,寻找重构的东西。

最后,根据您的要求,15行代码应该是一个完整的功能。有些人认为在函数中添加15行是没有意义的,因为15行本身就是一个函数。但不是每个人都这么认为。尽管如此,即使你没有百分之百地遵循它,也是一个很好的经验法则。

因此,完全可以在活动开发中重构代码。实际上,测试驱动开发背后的哲学意味着你总是重构你正在编写的代码。编写代码的三个步骤甚至称为红绿重构,你应该每隔5到10分钟循环一次红绿重构。但按照你所描述的方式进行操作会导致很多合并冲突。