什么是大规模重构的最佳版本控制方式?
我的典型编程风格(实际上也适用于撰写文档)是尽快完成一些东西,然后进行重构。通常,在添加其他功能的同时进行重构。除了对类和函数进行标准重构外,函数可能会从一个文件移动到另一个文件,文件被拆分和合并或仅重新排序。
目前,我作为单个用户使用版本控制,因此在此阶段不存在与其他开发人员的交互问题。尽管如此,版本控制仍然给我带来两个方面:
1.备份和能够恢复到好的版本“以防万一”。 2.查看历史记录告诉我项目的进展和思路流程。
我在Windows上使用TortoiseHg使用Mercurial,它使选择要提交的块成为可能。我提到这一点的原因是我想征求有关重构中提交粒度的建议。在提交时,我应该始终将重构与添加的功能分开吗?
我看了重构和源代码控制:如何做?的答案,但它没有回答我的问题。那个问题关注团队合作,而这个问题集中在未来可以理解的历史记录上(假设我不会像某些版本控制系统那样重写历史记录)。
我的典型编程风格(实际上也适用于撰写文档)是尽快完成一些东西,然后进行重构。通常,在添加其他功能的同时进行重构。除了对类和函数进行标准重构外,函数可能会从一个文件移动到另一个文件,文件被拆分和合并或仅重新排序。
目前,我作为单个用户使用版本控制,因此在此阶段不存在与其他开发人员的交互问题。尽管如此,版本控制仍然给我带来两个方面:
1.备份和能够恢复到好的版本“以防万一”。 2.查看历史记录告诉我项目的进展和思路流程。
我在Windows上使用TortoiseHg使用Mercurial,它使选择要提交的块成为可能。我提到这一点的原因是我想征求有关重构中提交粒度的建议。在提交时,我应该始终将重构与添加的功能分开吗?
我看了重构和源代码控制:如何做?的答案,但它没有回答我的问题。那个问题关注团队合作,而这个问题集中在未来可以理解的历史记录上(假设我不会像某些版本控制系统那样重写历史记录)。