为什么签入/提交注释是某些源控制系统中的必填字段?

时间:2009-01-13 19:20:04

标签: version-control

在Perforce(至少GUI)中,需要签入/提交注释。 (我不相信它们在Git或Subversion中是必需的。)大多数与我合作的开发人员只需填写最新/更新/等。我曾经写过有意义的描述,但每天约有20条评论,比如“替换图像”。 '改变'franhcise'的拼写变得非常烦人。此外,大多数变化都可以在Diff中快速看到。

起初我以为我只是在偷懒,但在查看其他人的代码时,我甚至不会看它们。我宁愿直奔Diff。我一个人吗?需要的评论是个好主意吗?

7 个答案:

答案 0 :(得分:10)

你应该留下好评。不一定描述你改变了什么,除非它是一个包含太多令人分心的细节的大变更集......但总是总是,描述为什么你做了改变(如果有的话,可能链接到bug跟踪器项目)。

当我在一年后看到你的差异时,在意识到它引入了一个微妙的错误之后,我需要知道为什么要做出改变 - 如果我找不到合理的理由,我只是去滚回去诅咒你的懒惰方式......; - )

答案 1 :(得分:7)

有意义的评论有几个目的:

  • 如果您正在寻找版本历史记录中的特定更改,他们会让您快速浏览文件的历史记录(例如:“嘿,我知道我们在3月份的某个时候修复了这个小部件闪烁的错误去年。你还记得那是什么解决方法吗?“)。

  • 他们鼓励您进行雾化提交。如果您最终使用通用评论进行签到,这可能意味着您一次做了太多事情。

  • 如前所述,他们会告诉您为什么会发生变化。当然,差异可以告诉你,例如,税项计算如何改变项目等。但它不会告诉你,这是因为税法的XYZ法律发生了变化。

  • 它们可以更轻松地编写发行说明或同等文档。

答案 2 :(得分:6)

也许有点不同的观点:

如果要查看一年或自上次发布以来的所有更改 - 是否要查看所有差异,或者您希望查看好的提交评论和缺陷/问题项的链接?

答案 3 :(得分:2)

如果您每天办理20次办理登机手续,则可能过于频繁地办理登机手续。将所有小错字修正分组到一个单一的签到中,并附上“修复各种错别字”的评论。

答案 4 :(得分:2)

写一篇有意义的评论大约需要30秒,所以只需克服它就行了。

答案 5 :(得分:2)

正如Shog9's answer的评论中所讨论的那样,在工具级上强制执行评论并不一定有助于让懒惰的人保持一致,因为这个要求太容易规避(正如在问题中已经提到的那样:只输入“latest”/“updated”/ etc,甚至是“sfakjs; d”,这可能比空行更有害。)

但是,该工具需要的事实可以作为一个正常勤奋的开发人员的提醒,该开发人员在没有任何解释的情况下意外地提交。如果它甚至一次这样做,那么我们是正面的(即,要求是有益的),因为通常功能没有任何区别 - 好人总是写评论,而坏女孩总是可以绕过要求,无论您设置什么技术障碍。 (当然,你是否想让他们受雇是另一个问题。)

答案 6 :(得分:-1)

主要是因为它们不是用于在更改css属性等之后进行提交,而是在进行更有意义的更改/错误修复之后。但是评论非常有用。