使用版本控制很好地重构

时间:2020-03-06 15:02:32  来源:igfitidea点击:

我的一个同事要求我检查我的一些代码,他给我发送了一个diff文件。一般而言,我对diffs或者版本控制并不陌生,但由于diff所做的更改,很难读取diff文件。具体来说,他使用了"提取方法"功能,并对一些方法进行了重新排序。从概念上讲,很容易理解,但看一下差异,很难说出他的所作所为。对我来说,签出以前的版本并使用Eclipse的"比较"功能要容易得多,但是它仍然很笨拙。

是否有任何版本控制系统存储与重构有关的元数据。当然,这将是特定于IDE和编程语言的,但是我们都使用Eclipse和Java!也许在某些标准上,IDE和版本控制实现可以很好地发挥作用?

解决方案

Eclipse可以导出重构历史记录(也请参见3.2发行说明)。然后,我们可以通过Eclipse中的预览查看重构更改。

重新排列文件后,我不知道比较工具能发挥出色的作用。通常,由于这种类型的问题,这是一个坏主意。人们经常这样做只是为了满足自己的风格,这是更改代码的不好的理由。就像重新格式化整个文件一样,它可以有效地破坏历史记录,除非有必要,否则决不要这样做(即,它已经是一团糟且无法读取)。

另一个问题是,由于某些人的风格偏好,工作代码可能会被破坏。如果没有损坏,请不要修复!

不久前,我提出了类似的问题,但从未得到满意的答复。我将观看问题,以了解人们的想法。

对于特定情况,最好使用diff作为指南来查看文件的最新版本。这也是我在这种情况下一直在做的事情。

重构历史功能对我来说是新功能,但我喜欢它的发音方式。对于一种不太特定于工具的方法,我喜欢发送补丁文件。审阅人员仅应用补丁并审阅结果,然后他们可以在完成后恢复为版本控制中的版本。