为什么在补丁说明中引用错误ID会被视为不良做法?


28

根据评论以及随后的Bug重新打开vs. new的意见

在补丁说明中引用错误ID只是..非常不友好。–克雷普

似乎至少有人觉得在补丁说明中引用错误ID不是一个好主意。我是一个经验不足的开发人员,所以我想知道为什么会这样。


27
不引用补丁说明中的错误ID只是……非常不专业。有点浪费了问题追踪器的全部作用
t

不赞成仅将链接发布为StackExchange答案的相同理由也被拒绝-如果发布链接,则SE上的SE不好,因为(1)要求遵循以获取解释,并且(2)将来可能会失效链接消失或内容更改。类似地,在补丁说明中放入错误ID(1)要求转到错误跟踪器进行解释,而(2)如果错误跟踪器系统发生更改,将来可能会失效。作为常规解释的补充,在SE答案中包含链接或在补丁说明中包含错误ID是很好的做法(实际上是一种很好的做法)。
李·李

Answers:


51

我认为,这是一个好习惯,假设您的用户对您的错误数据库具有读取权限。很多时候,人们在等待修复某个错误以决定何时升级。

我认为皱眉只是引用错误ID而已。您还应该始终提供易于理解的描述,而无需访问Bug跟踪器。这也使您将来可以切换错误跟踪器,而不会完全使以前的发行说明无效。


您可以通过抽象引用解析器(也称为URL重定向)进行引用。
Donal Fellows 2012年

正如您所说,“已修复的错误”(或类似错误)部分应包括ID和标题,以便读者不必查找错误就可以准确了解其中包含的内容和不包含的内容。
StuperUser 2012年

5
@StuperUser-ID和标题(至少)
Oded 2012年

令人讨厌的是,当不再使用引用的错误/需求ID系统时,在注释中找到仅错误ID的注释。
jfrankcarr 2012年

14

如引用的评论中所述,...不友好。

对自己不友善

想象以下情况。您正在查看源代码管理中的日志。您想知道提交更改了什么。它没有用简单的英语解释,而是告诉您:

已解决#1307

您运行错误跟踪系统,希望对您有所帮助。错误1307报告为已解决。在描述中,您将看到:

与#1284相同的错误

谢谢,它非常有帮助。现在,您必须导航到错误报告#1284,以读取它是错误#1113的重复,该错误涉及错误#1112,#1065和#1067。

五分钟后,您一开始不知道要搜索什么。

一个更有用的版本控制日志消息将是:

通过删除对数据访问层应用与网站本身相同的密码长度策略,解决了用户无法使用长度超过25个字符的密码登录的问题(请参阅#1307)。

以同样的方式,在错误跟踪系统中,报告#1307可能更不言自明,回想一下错误报告#1284的含义,以及新报告与旧报告有何不同。

对客户不友好

这不是唯一的友好问题。

第二个问题是,通过过多引用而没有其他信息,您会使补丁说明/版本控制日志/错误跟踪系统报告对不太熟悉这些系统的人无法使用。每天使用Bug跟踪系统时,您就会知道如何快速浏览报告,并排查看多个报告等。如果您是没有技术背景的客户,则很容易迷失方向。

同样,在这里,更详细的消息不仅仅是参考。请注意,您仍然想保留引用:没有什么比与两周前遇到的错误相同的错误更错了,但是不要记得它的ID。


需要注意的是,在许多司法管辖区都存在相同的问题。以法国为例,立法提及多个来源并不罕见,但同时可能会发生变化。这意味着,为了完全理解它,您有时必须在图书馆中花费数小时,搜索数十个引用的文本,每个文本都有自己对其他文本的引用。


5
这不是发行文档的问题。错误的详细程度是一个问题。标题应描述实际问题,并且每个错误的正文均应具有“预期结果”和“实际结果”。您所描述的错误是否应该作为重复项关闭?
StuperUser 2012年

根据您的编辑。您已在更有用的消息中引用了ID。您是否在原始评论中表示仅引用ID而没有进一步的信息是无济于事的,而正确的解释和ID会有所帮助吗?
StuperUser 2012年

1
@StuperUser:完全是。提供说明可以帮助那些只想知道提交日志/补丁说明/错误报告的人,而无需花费十分钟的时间阅读引用的内容。跟踪仍然需要ID,并且需要非常详细,精确和完整的信息的人员。
阿森尼·穆尔琴科(Arseni Mourzenko)2012年

2

如果用户可以阅读所引用的问题,则在补丁说明中引用问题编号没有任何问题。如果您的错误数据库允许任何人阅读,则引用错误编号确实非常有用。(一个更好的方法是,如果补丁说明的格式允许链接,则使那些问题ID成为所讨论问题的链接。)这并不意味着您应该将所有问题公开给公众;笼罩着那些仍然很有用(例如,在其中输入实时密码的地方!)

引用一个问题编号,使人们无法阅读并查找错误的详细信息和历史记录,这非常不友好。指出没有问题ID的此类问题并不是更友好。


像这样的人那样“无法阅读的人会去查找细节”,我不会说这真的很不友好。我确实使用问题ID与支持/开发团队进行了沟通,而他们又可以访问问题跟踪器。就我个人而言,它是不可见的,这只是一个小麻烦
2012年

2

显然,这取决于将阅读补丁说明的人员以及软件的目标用户。

但是在大多数情况下,绝大多数用户根本不关心错误ID是什么。他们不在乎它为什么被破坏,修复了什么或其他任何东西-他们只想知道非常简短的文本描述中发生了什么更改,而不必每次更改都转到另一个页面。

引用错误ID会让我停下来思考,而我-作为用户-不想思考。这是一个可用性问题。

Visual Assist X更改日志为例。所有这些链接的错误ID只是噪音,使我无法了解更改的内容。这是针对Visual Studio的针对程序员的附加组件。我是一名程序员。如果这让我感到困扰,请想象甚至不知道错误跟踪器是什么的普通用户。

PS:我是引发这个问题的评论的作者


1
老实说,我发现该链接末尾的文档很有帮助。它以摘要开始,然后将我引向详细信息。微软经常在知识库文章中进行类似的链接,并不是说他们这样做是一种很好的做法,但是它无疑是广泛存在的,并且显然为许多用户提供了价值。
约书亚·德雷克

1

错误ID 对于参考点必需。原因:

  • 防止歧义:两个或多个错误可能具有相似的描述。因此,需要一些锚点来区分它们。
  • 便利性:与客户或在内部讨论错误时,错误ID通常被用作简短形式。如果补丁说明中省略了ID,则将很难讨论它们:

3052已修复,仍在3077上工作

比:

修复了“应用按钮上的应用程序崩溃”的问题,该问题仍然适用于“单击更改用户时出现NullReferenceException”


(1)是什么导致您无法按照MainMa的建议进行合并?(2)为什么要提交一个半固定的bug?在修复3052之后,甚至在开始使用3077之前,为什么不提交?
JensG 2014年

0

我会说这取决于您的系统:幸运的是,我使用的 那个会自动在提交消息中检测到此类引用,并向存储在bug跟踪器中的票证添加链接,因此这不是问题。

但是,如果我使用的系统不可用,我仍然会提及票证ID(这样,您就可以按票证ID快速搜索日志),并简要说明该错误是什么。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.