首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跟踪代码中的Bug修复

跟踪代码中的Bug修复
EN

Software Engineering用户
提问于 2015-08-16 08:23:49
回答 3查看 278关注 0票数 4

我正在一个项目中工作,在这个项目中,我需要更改代码并修复系统的错误,但是如何通知其他团队成员这个更改呢?通常,我会将单行注释添加到特定点,或者在eclipse中创建任务并编写bug修复程序,如下所示,

代码语言:javascript
复制
//Fixed PRJ110-345 called checkAndClear to clear myObject
myObject = myObject.checkAndClear();

但是,当我在项目的属性或sql文件中更改某些内容时,这看起来不太好。

此外,我需要搜索这个PRJ110-345来找到修复的bug,或者使用正则表达式查找所有的问题号,但是这些问题可能已经被其他团队成员解决了。

在团队成员之间跟踪代码中的问题的最佳方法是什么?

有时,我无法区分已解决的bug和其他团队成员的bug修复。目前,我们对问题跟踪系统(JIRA)没有不同的帐户,而团队负责人只是在团队成员之间分发Bugs,而且每次都很难跟踪我的修复程序。

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2015-08-16 13:14:37

您不应该在代码中跟踪bug修复。在代码中跟踪一些未修复的bug可能是有意义的,这是对其他查看该代码的开发人员的警告,即它存在一些您无法修复的bug。类似于:

代码语言:javascript
复制
//Currently crashes - see PRJ110-345
myObject.initialize();

但是在代码中指出bug已经修复是毫无意义的,因为bug本来就不应该成为代码的一部分--为什么要记录不存在和不应该存在的东西呢?通过在代码中随机键入命令,我可以很容易地向代码中引入新的bugs -例如,我可以在任意位置将myObject设置为null。您是否要在每一行上记录为什么myObject没有在该行上设置为null

将这些注释放在源代码管理中的位置--听起来您没有使用源代码管理,所以您应该开始使用源代码管理--我建议使用Git。源代码管理(它所做的其他事情之一)将项目的历史记录表示为提交--每个提交都是一个差异,它(连同以前的提交)描述代码在更改之前的外观以及它如何处理更改,并允许您输入描述更改的提交消息--您做了什么和/或为什么做了什么。这就是您记录错误修复的地方。

因此,与其查看代码中的注释,不如查看提交消息,看看您的队友做了什么- 下面是它在BitBucket上的表现。这样,您的代码将保持清晰,但您仍然可以访问所有的信息。

票数 8
EN

Software Engineering用户

发布于 2015-08-16 12:46:06

将每一行源代码都引用到所有影响它的票证是不可行的。这是太多的信息,大部分都会在你写完后很快就过时了。这些注释是有价值的,但它们应该是版本控制系统中的提交注释,而不是源文件中的代码注释。

但如果我没看错你的帖子

我正在一个项目中工作,在这个项目中,我需要更改代码并修复系统的错误,但是如何通知其他团队成员这个更改呢?

听起来,您真正关心的是如何确保您的团队的其他成员知道为什么这一行代码在他们下次阅读时是这样的。换句话说,如何使代码可读性。通常还有其他更好的方法来完成这个任务。

如果清除这些对象是一件正常的事情,而且团队中的每个人都熟悉checkAndClear()的概念,那么只需使代码更多地自我记录:

代码语言:javascript
复制
checkedObject = uncheckedObject.checkAndClear();

大多数情况下,这类事情就足够了。

如果这是一件不寻常的事情,需要某种解释,那么除了自我记录之外,还留下一条评论来解释真正的问题:

代码语言:javascript
复制
// Normally we don't need to clear these objects manually, but this one
// comes from Foo.lib which sometimes returns garbage values
checkedObject = uncheckedObject.checkAndClear();

我只会在代码中保留对票证的明确引用,如果我们期望对代码进行一些未来的更改,而票证是关于使这种更改发生的:

代码语言:javascript
复制
// TODO: refactor Foo.lib to stop returning garbage values (PRJ1234)

这可以防止任何人打开重复的票证,或者复制已经为该票证所做的任何工作,而且如果有人对其做了一些工作,bug跟踪器更有可能获得更多的信息。

票数 5
EN

Software Engineering用户

发布于 2015-08-16 10:30:32

如果您试图在代码中记录这些修补程序,那么随着时间的推移,您将得到一堆杂乱无章的注释,这将使代码无法阅读。

至少,当您将代码签入到例如git或您使用的任何源代码控制解决方案时,您可以在注释中记录Jira编号-- are 110-345。

另一个选项是使用藏匿并将其链接到吉拉。这样,你的变化就会出现在吉拉身上。

不过,可以说,最好的解决方案是为每个问题创建一个新分支。这样,所有与all 110-345相关的更改都存储在all 110-345分支中。完成后,归并到主人那里。这样,您就可以通过检查分支的历史记录来访问所有的更改。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/293815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档