2

记录代码更改的不同方式有哪些?我目前正在编写正在经历大量更改的代码。当前记录代码更改的约定类似于

//Begin add by xxxx for feature/bug xxxx <Date>
........
........
//End add by xxxxx for feature/bug XXXX <Date>

这种草率的评论方式造成了很多混乱。我们通过粗注释寻找实际的代码行。我们不想在版本控制软件的签入注释部分记录更改。我正在考虑在文件的开头维护一个更改日志,其中记录了所有更改。你们用什么方法来记录变化?

4

3 回答 3

16

你会发现在实践中,重要的信息是代码现在做了什么,而不是它是如何到达那里的。通过使用这些注释来掩盖当前代码,您会使代码更难阅读和使用。

在您需要返回并查看为什么做了某事的情况下,最好在版本控制中捕获所有信息。不要试图在代码本身中捕捉历史。

于 2012-04-19T19:43:25.327 回答
5

你的版本控制系统应该是变更信息的主要来源。关于代码中非显而易见功能的注释应作为注释记录下来,无论出于何种原因,即是否用于更改。

更改代码的程序员、导致更改的相关错误/功能以及更改时间所有这些都已编码在您的版本控制系统创建的文件的更改日志中!任何更多手动添加的更改日志,它都会过时,并且会使文件变得混乱。

于 2012-04-19T19:44:10.227 回答
4

我永远不会在代码中这样做。永远不能。注释应该是最少的,并且只是为了使代码中的混乱逻辑更加清晰(或者,更经常地,指出约定)。始终单独提交每个更改。写一个简洁的最大 79chars 提交消息。您可以在每个数据包(产品)的根目录中保留重组后的文本 - 例如 CHANGES.rst。我们就是这样做的——你可以看这里

您还可以使用票务/pm 系统并在提交消息中提及票证。

于 2012-04-19T19:44:50.383 回答