it-swarm.cn

您如何跟踪个人项目中的错误?

我正在尝试确定是否需要为自己的项目重新评估缺陷跟踪过程。在过去的几年中,我实际上只是在代码中使用TODO标记来跟踪缺陷,并在特定的视图中跟踪它们(我使用Eclipse,它具有不错的标记系统)。

不幸的是,我开始怀疑这个系统是否不可持续。我发现的缺陷通常与我正在处理的代码片段有关。无法立即理解的错误往往会被遗忘或忽略。我为我的妻子写了一个申请表,该申请表有近9个月的严重缺陷,但我一直忘了修复。

您使用什么机制来跟踪个人项目中的缺陷?您是否有特定的系统或确定优先级和管理它们的过程?

45
bedwyr

Fogbugz(免费的个人许可证),如果它是一个冗长的项目或简单的待办事项列表(使用Google任务)

25
Amit Wadhwa

我通常使用基于Web的修订控制系统(Github,Bitbucket,Redmine,Google Code等)来存储我的源代码并跟踪错误。如果您认为特定代码中有错误,则可以使用修订号/变更列表/变更集来创建问题,并指定您怀疑的文件和行范围。

17
Thierry Lam

我以前在每个项目中都使用电子表格/文本文件(由于您列出的原因,代码中的ToDo注释无法很好地扩展;它们在代码中是本地的,如果没有问题,则往往会漏掉裂缝)。

最近,我在家庭网络上设置了 Redmine 服务器。对于一个“团队”来说,这有点重量级,但是我正在自己的时间上从事许多项目,并且倾向于在更复杂的地方仅使用Issue Tracker + Repository选项,也许还有奇怪的Wiki页面。

我的一个朋友出于同样的目的发誓 Pivotal Tracker ,但是我现在的雇主内部使用Redmine,所以我认为这可以给我一些实践。不算太差。

对于开源项目,我只使用GitHub的问题跟踪。

8
Inaimathi

实际上,我已经在托管的Web服务器上安装了Free Mantis bugtracker系统(用于博客和其他东西),并把所有的缺陷都放在了其中。

换句话说,我把自己的东西当作专业的东西并付了钱。

我发现它有助于保持更好的心态(关闭缺陷等),并与行业中常用的其他实践保持一致(ish)。

也可以在代码等中使用TODO注释-但仅适用于最重要的注释,例如:“有一天我必须提高注释的效率,气泡排序会损害性能”。或想获得更多有关在什么时候起床吃饭的提示:)

7
quickly_now

我使用ToDo List程序,这是来自codeproject的开源代码

http://www.codeproject.com/KB/applications/todolist2.aspx

非常好,具有很多功能。

5
Aristos

我们在工作场所使用 [〜#〜] jira [〜#〜] ,我非常喜欢它。许多产品和相关人员参与其中,并且一切都很好。

5
PatrickJ

我前段时间正在寻找答案,此后已经设计出一个非常简洁的系统,可以满足我的以下主要目标:

目标的重要性顺序:

  1. 使尽可能轻松地输入新任务/错误成为可能,这样我一发现或梦想就可以立即记下它,然后在失去位置之前重新进行编码。
  2. 无需大量搜索,单击和下钻即可轻松查看和管理问题。
  3. 使其易于与版本控制配合使用,以便以后可以找出为解决问题而进行了哪些更改,或者哪些任务或错误导致了代码中的特定更改。
  4. 使设置相对容易:最少的安装和配置,最低的价格。

(3和4不太重要,如果没有提供这些功能的系统,我会觉得还可以,但是可以提供)。

步骤1:在Bitbucket中获取项目

我将 bitbucket 用于问题跟踪和git版本控制(例如,对于XCode中的iOS项目)。我查看了FogBUGz(已经在JoelOnSoftware上阅读了很多年),GitHub和其他内容,但是bitbucket似乎为小型团队提供了最好的免费功能。

步骤2:在项目中使用Bitbucket问题跟踪

接下来,我在同一bitbucket项目中设置了问题跟踪。因此,我的项目现在具有git存储库和问题跟踪。

第3步:简化问题跟踪!

为此,我使用 Bitbucket Cards ,这是Bitbucket问题的一个漂亮,简单的类似于看板的前端。您只需要登录您的Bitbucket帐户并设置所需的列即可。我有四列:待办事项,下一步,错误和已解决。 (我正在考虑将Bug与Backlog合并,但暂时不要在意)

Bitbucket Cards example (此图片来自Bitbucket Cards博客,而非我的项目,因此这些列与我使用的列不同)

使用Bitbucket卡,您可以为每个列表设置一个非常简单的过滤器,从中可以选择卡列中的状态和问题种类。因此,类型为openbug状态问题放入Bug列中。

Column definition (这来自我的项目:这就是我选择“错误”列中的内容的方式)

真正酷的是,当您将卡片从一列拖放到另一列时,它将自动更改卡片代表的问题状态,以与目标列的定义相匹配。

Bitbucket卡的另一个好处是,它不容易超时。这很关键,因为整个设置的目的是使其变得简单-因此,该系统对我有用,而不是为我工作。我打开了我的卡片页面的书签,并且整日在Chrome)标签上保持打开状态。

这照顾了我的第二个目标。

步骤4:使用版本控制将其绑定。

Bitbucket问题与版本控制(对于大多数竞争者)紧密地联系在一起,因此当我完成一个问题时,我将其提交给git,并显示一条消息,例如“将whato添加到whatsit。修复#245”。如果我提交了此信息,请先推送它,然后重新加载我的Bitbucket卡页面,我将看到问题已移至“已解决”列。凉。

我的第三个目标已经完成。

第5步:简化创建问题的过程。

您可能会认为整个设置已经很复杂,并且为什么还要在此过程中添加另一个Web应用程序。好吧,请记住上面的主要目标:我想使添加任务变得如此简单,以至于在到达文本区域进行输入之前我不会迷失方向,也不想失去自己的位置我完成时的代码。

现在,Bitbucket Cards确实可以让我轻松轻松地创建任务,但是要完全实现目标#1有点棘手。您必须单击创建问题;然后弹出一个模式编辑器;输入问题标题后,您必须向下滚动以指定种类(错误/任务)和优先级;然后点击创建。

相反,我选择使用另一个名为 taskrd 的Bitbucket应用程序。

您可以通过为其设置Bitbucket登录名来设置taskrd,并将其设置在书签和标签上,并使其保持全天开放,就像Bitbucket卡一样。 Taskrd的工作流程非常简单,可以添加新任务,只需键入它,然后可选地设置种类和优先级,然后单击“添加”按钮。

tasrkd interface (此图片来自Taskrd博客)

现在可以争论的是,使用Bitbucket卡甚至Bitbuckets自己的发行系统来建立Taskrd都不值得。毕竟,使用Taskrd,我必须在浏览器上单击一个选项卡,然后在包含Bitbucket卡的页面上单击“重新加载”,以刷新并获取我在Taskrd应用程序中添加的新问题。但实际上,我发现自己通常处于模式或其他模式:要么我正在使用Bitbucket卡来组织下一步要做的事情,要么浏览错误列表,或者我正忙于编码并输入任务/ bug发生在我身上-都处于快速启动模式。对于第二种工作方式,Taskrd很棒:我只是将其保持在单独的显示器上,然后在工作时快速输入问题。

这样就涵盖了目标#1。

我的最后一个目标是轻松/便宜地设置。价格便宜:所有这些都是免费的。 Bitbucket拥有最多五个用户的免费私人存储库,其他应用程序则免费。基于上述内容,安装似乎很简单,但实际上最复杂的部分是将git设置为Push到bitbucket存储库,该存储库在任何地方都相同。我不需要安装任何东西,并且将两个应用程序都连接到我的bitbucket存储库非常简单。以我喜欢的方式设置纸牌列需要花费一些时间,但并不难。

读一读,我可能对Bitbucket有点不满意-但是我真的不是故意的。只是我一直在使用此过程数周(经过多年尝试不同的配置来跟踪我在做什么的经历),而且我真的在挖掘它,所以我想花点时间将它安排给其他人。

4
Rhubarb

我将10美元的入门许可证用于Jira。它很便宜,我已经从工作中知道了。

3
speshak

如果您熟悉在Eclipse中使用TODO标记,那么简单的步骤就是使用 Mylyn 。最基本的说,这是一个简单的待办事项清单。但是,它还将上下文与任务相关联-单击任务以将其激活,做一些事情,然后在下次激活它时,Eclipse将打开相关的类,并向您显示相关的方法。更强大的是,如果您最终转而使用其他错误跟踪系统,Mylyn可以从这些系统中提取任务并将其呈现在您的IDE中。

如今,大多数Eclipse下载都将Mylyn作为标准捆绑在一起。只需搜索“任务列表”视图并开始添加任务即可。

3
RevBingo

Kinda感到惊讶的是,还没有人说过这一点,但是有分布式的Bug跟踪解决方案可以作为您的分布式源代码管理的一部分,即Bug数据库与您的修订控件中的代码一起存在。众所周知的实现包括“臭虫无处不在”,Fossil和Ditz。

参见 https://stackoverflow.com/questions/773818/distributed-projectmanagement-bug-trackinghttps://stackoverflow.com/questions/1851221/distributed-bug-tracker- to-go-with-dvc?rq = 1 进行讨论。

2
Niall Douglas

像这里的其他人一样,我使用文本文件或内置在任何dvcs托管服务中的bug跟踪器。

很多取决于它是什么样的“个人项目”。它会成为现实吗?还是只是一个实验?这个项目是否被公众使用?

例如,我的一个个人项目受到了一定程度的欢迎,并为此建立了 Get Satisfaction 网站。并不是真正的“错误跟踪”,但对于错误/功能请求非常有用。

2
Mike

对于个人项目,TODO注释以及包含TODO和错误等的文本文件通常对我来说就足够了。

1
Sebastian Negraszus

对于我的个人项目,我使用Omnifocus。

更新:2010年10月25日如果我发现无法或不希望立即修复的错误,我会迅速将其添加到Omnifocus收件箱中。然后,稍后,当我进行检查时,我将收集我认为需要修复该错误并将其添加到项目中的所有信息。它在任务列表中的位置表明它的相对重要性。

在大多数方面,我都会以与需求/功能相同的方式对待错误。

1
Henry

我将 ToDoList 用于我的个人项目;它轻巧,免费,并具有许多功能。不确定它对团队项目的可扩展性如何,但是这对我自己工作非常有用。我不确定使用Visual Studio的内置任务列表能生存这么长时间,这很糟糕。

1
Andrew Arnold

我们结合使用JIRA和Google文档和电子表格。我研究了其他工具,因为我们的JIRA安装比污垢更旧,并且不像更新,更高级的拖放界面那样易于使用。

我研究了Manymoon,Zoho Projects,Insightly,Redmine和Assembla。我们将尝试使用 免费的Assembla站立工具 。这是一个非常简单的3字段报告界面,向每个团队成员询问3个问题:上周您做了什么?你这星期要做什么?您遇到的障碍是什么?

最后,我认为我将继续使用JIRA,Google Docs和Assembla Stand Up工具,因为两者的结合为我提供了所需的一切。

1
jmort253

我最喜欢Trac,因为它重量轻,易于使用且易于配置。集成的Wiki和优雅的存储库浏览器是一大优势。

在工作中,我们使用JIRA,它也很不错,但管理起来并不容易。我真的很想念Wiki(与Confluence集成不是很好)和出色的存储库浏览器(我们只有ViewVC)。

1
Simon

在过去的几年中,我一直在使用Trac。我也使用了Bugzilla和JIRA。我的个人和私人咨询项目只涉及Trac,因为我已经习惯了它,而要使一个项目进入我的个人开发环境中,只需花费很少的精力,因为工作已经结束。我已经将trac与所有我需要的东西联系起来,包括SVN或Git和 Hudson (或者现在是Jenkins)。

在某些客户项目上,通常别无选择,只能使用它们,而不幸的是,这些东西通常什么也没有,也很少。当他们最近有一个错误跟踪器时,我感到很惊讶。但就我个人而言,我期待OSS社区提供比Trac更好的产品。它可以解决问题,但如今看来像是拼凑而成。

1
Johnny

我使用自己的 TheKBase (因为我在OSX上,所以我会在虚拟机或Mono的.Net上使用它,具体取决于我的心情)。仅对于一个并发用户,但是:它允许多个层次结构,因此它从任务管理器到信息管理器之间不丢失任何步骤。加上它在 Github 上是开源的,并且是免费的(我想这很明显)。

出于好奇,说明是 此处

1
Dan Rosenstark

如果您使用ReSharper,它的TODO tracker,它显示解决方案中所有TODOs,NOTEs和BUGs的列表。它还会以您选择的任何颜色在代码中突出显示它们。我发现这对我自己的项目真的很有用。

0
Nobody

对于小型的单人项目,我没有看到使用正式的错误跟踪的意义。通常,我只是保留一个(非常简短的)心理清单,并在发现错误时进行修复。当然,这不适用于大型/多人项目,但重点是它不需要。

0
dsimcha