决定用Perl Pod定义自己的bug追踪系统
文章目录
最近,一直在苦苦寻找一个最适合自己的bug追踪系统。我自己平时写的一些小工具,有一些bug需要追踪管理一下,用记事本显得格式太随意了,不好管理。
试了很多有名的工具,如Bugzilla,Mantis,感觉都太厚重了,团队用倒是蛮合适的。
后来想着用XML定义一个日志数据库,一个Bug开一个文件,这样可以详细记录Bug的内容及解决过程、方法等。再写一个前端,用来管理组织这些XML文件。但我个人的bug量不多,更多的时候,是随手写一点想法,这种XML严谨的组织方式,并没有让我觉得更轻松。
尝试着用Emacs Muse记录了一段时间,有一个缺点,就是我写下来的解决方法里,有很多是代码,如果我不加
最后,我发现用Perl的pod来做自己的bug追踪系统挺好的。Pod虽然是个文档系统,但是只要灵活地运用标签也是能做简单的bug追踪系统。Pod的优点是,当你不需要用命令的时候,直接输入你的内容即可,总体来说,比较简洁。
我的pod格式定义如下:
=pod
=head1 project 1
=head2 Bug #000001
=head3 Bug #000001的简单描述或标题
Bug #000001的详细描述,所有的有关内容。。
=head3 Bug Status::Fixed
=head3 Bug解决方法记录
=over indentlevel
=item 解决步骤一
解决步骤一的内容。
=item 解决步骤二
解决步骤二的内容。
=item Bug Fix summary
Solution of Bug #000001, the summary of this bug is:
Try to readcord the document in time and in style.
这里就写一写把Bug搞定后的总结。
=back
=head2 Bug #000002
=head3 Bug #000002的简单描述或标题
Bug #000002的详细描述,所有的有关内容。。
=head3 Bug Status::Active
=head3 Bug解决方法记录
=over indentlevel
=item 解决步骤一
解决步骤一的内容。
=item 解决步骤二
解决步骤二的内容。
=item Bug Fix summary
Solution of Bug #000002, the summary of this bug is:
Try to readcord the document in time and in style.
这里就写一写把Bug搞定后的总结。
=back
=head2 Bug #000003
=head3 Bug #000003的简单描述或标题
Bug #000003的详细描述,所有的有关内容。。
=head3 Bug Status::Suspended
=head3 Bug解决方法记录
=over indentlevel
=item 解决步骤一
解决步骤一的内容。
=item 解决步骤二
解决步骤二的内容。
=item Bug Fix summary
Solution of Bug #000003, the summary of this bug is:
Try to readcord the document in time and in style.
这里就写一写把Bug搞定后的总结。
=back
=cut
把上面的例子代码存成一个文档,比如说,我喜欢存为WaterBug.txt,后缀用.txt是为了方便用其它编辑器查看。
用pod2html的命令生成文档给其他人观看:
pod2html –infile WaterBug.txt –outfile WaterBug.html –title WaterBug
当然,你可以为这个文档写一个你自己的Style Sheet,生成一个打着你的logo的个性化文档:
pod2html –infile WaterBug.txt –outfile WaterBug.html –title WaterBug –css stylesheet.css
在定义我的pod格式时,我分别用Active,Suspended,Fixed,On-hold四种状态来标明Bug的状态,即”正在进行”、”还未开始”、”已经搞定”、”暂时放着”等四种状态,这些状态关键字都是以**::**开头进行标识。
以这些简单的标记来记录文档,我可以随手写在任何文本文件里,包括Google Docs这些在线文档,即使将来要转成其它格式的文档,也可以轻松地用perl来实现转换。
要查找特定状态的bug,只要搜索一下::Fixed或是::Suspended或是::Active或是::On-hold即可。
文章作者 cookwhy
上次更新 2009-05-06