Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 错误编号注释_Version Control_Bug Tracking - Fatal编程技术网

Version control 错误编号注释

Version control 错误编号注释,version-control,bug-tracking,Version Control,Bug Tracking,你为什么要加上 //错误1024 注释到源代码控制的代码库中? 大多数错误跟踪和源代码控制系统都有更好的设备来跟踪这些信息。 在源代码管理中,标签或注释可用于签入。在bug跟踪器中,可以将修订号添加到bug的解决方案中。那么为什么要对代码进行注释呢?特别是因为这些注释的相关性非常短暂,而且它们往往会在代码库中堆积垃圾。纯粹的懒惰。当然,从长远来看,它需要更多的时间,但从短期来看“//Bug 1024”不需要任何努力。代码越多,情况就越糟。最终,我认为这是一种不好的做法。最好包括bug存在的原因(

你为什么要加上

//错误1024

注释到源代码控制的代码库中? 大多数错误跟踪和源代码控制系统都有更好的设备来跟踪这些信息。
在源代码管理中,标签或注释可用于签入。在bug跟踪器中,可以将修订号添加到bug的解决方案中。那么为什么要对代码进行注释呢?特别是因为这些注释的相关性非常短暂,而且它们往往会在代码库中堆积垃圾。

纯粹的懒惰。当然,从长远来看,它需要更多的时间,但从短期来看“//Bug 1024”不需要任何努力。代码越多,情况就越糟。

最终,我认为这是一种不好的做法。最好包括bug存在的原因(Y类型的foo没有属性Z)。如果您愿意,您可以随附“Bugid12345中的更多”


如果要在多个级别上进行集成,trac中的源代码视图可以直接链接到BugId。

我一直这样做,直到Visual Studio 2008附带注释。当回顾旧代码时,立即发现在特定的代码决策背后至少有思想是有用的


是的,我知道你可以与以前的版本进行比较,但是当你只需要对小的代码更新快速感觉良好时,这是一个非常痛苦的问题。

想象一下,你有一个新的bug,可以追溯到12345版中的更改。您查看日志,它会立即告诉您错误1024是进行更改的原因

然后,你可以去看看1024,看看是什么,为什么,什么时候,然后再做一个新的修复-一个规则他们所有人


如果错误号不在提交消息中,那么您必须搜索提交修复的错误-可能有几个(如果错误被报告不止一次)。

前几天我在我们的代码库中发现了其中一个有用的错误

我说“为什么他在工作流程这么晚的时候第二次调用初始化函数?”

错误评论让我在问题描述中找到了正确的答案。当我重新装备代码时,我肯定会在测试中包含这个bug,并且没有重新引入它

虽然我会说,一般来说,我同意你的意见,我自己不插入这些


我更希望有问题的开发人员以一种更有意义的方式修复这个bug,这样我就不必一开始就对代码感到好奇。

我同意你的看法,像这样的评论并没有真正的帮助,而且过于简短

但是,通过引用缺陷跟踪系统中的记录(或扩展到您可能拥有的任何知识管理存储库)对代码进行注释是非常有用和重要的

有时,更改代码以实现解决应用程序行为的特定问题的方法。有时,引入的解决方案根本不符合逻辑。通常情况下,当其他人更新代码时,作为重新分解工作的一部分,这段“坏”代码会被删除

因此,将代码标记为属于某个特定的bug修复程序可以使其在重新分解过程中可见,从而提示开发人员在更改代码之前查看bug描述。在bug重新打开的情况下,它也有帮助——如果你必须改变代码的同一部分几次,你可以考虑在替代方案中投资时间。
你可以考虑乔尔的MSOffice关于软件帮助的文章。据我所知,MS Office和MS Windows的代码中充满了类似的注释,这些注释解释了开发人员长期以来所做的决定。

我发现,在解释可能出错的代码时,这些注释很有用,也可用于提交消息。

如果您在浏览不熟悉的源代码时,看到一些不明显的东西,很高兴知道原因。不过,这是一种判断,并不是每一个bug修复都需要这样的解释——也许大多数bug修复都不需要这样的解释。

我认为这是一个“我有一把锤子,那一定是一颗钉子”的例子。文本编辑器或IDE不是管理代码的唯一工具

最好在代码外部维护历史记录。当代码的含义不明显时,应在注释中说明


我同意bug编号应该出现在源代码管理提交消息中。

我不这么做。我想不出有什么好的理由可以让你把缺陷ID放在代码中。我将把它放在发行说明/变更日志中

我发现有用的是在自动测试中使用缺陷Id作为名称的一部分:

[TestFixture]
public class Release_1_2_Bugfixes
{
  [Test]
  public void TestBug42()
  {
    Assert.AreEqual(42, CalculateAnswerToLifeUniverseAndEverything());
  }
}

我也看到过这样做。

如果有足够的理由相信有人在查看部分代码时会想知道bug编号,那么添加一条提到bug的注释可能会非常好(不过,希望它也能解释bug的重要部分)

是的,源代码管理提交消息还应该包含bug编号,查看修订日志可以为您提供相同的信息。。。但是,如果代码的同一部分被多次更改,但从最初的bug中学到的细节仍然适用,那么可能需要一段时间才能找到最初的更改来了解该bug


此外,当有很好的理由将代码从一个类移动到另一个类或重命名文件时,就会出现这种情况,这会使找到某段代码背后的原因变得更加困难(重命名不是SVN的问题,而是CVS的难题)

永远不要只添加bug编号。如果您对一个bug进行了多次签入,则应添加bug编号、主题以及任何限定符:

错误1111-Foo在64位系统上被破坏。修复#2,因为它在合并到主干后重新打开

有些系统有bug编号集成。在mxr.mozilla.org中,cvs日志显示中的bug编号会自动神奇地变成指向bugzilla.mozilla.org编号的链接。当你在挖掘代码时,这是一个巨大的节省时间的方法。我认为