65.9K
CodeProject 正在变化。 阅读更多。
Home

C# 可执行文件中的 Bug 修复跟踪

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.06/5 (12投票s)

2004年3月2日

3分钟阅读

viewsIcon

68258

downloadIcon

917

在 C# 源代码中输入 Bug 修复注释,并从二进制文件中进行探索。

Sample image

引言

Bug 修复是软件开发生命周期中的一项主要任务。在测试阶段,软件开发人员的职责不仅是修复 Bug,还要为修复工作做好充分的文档记录。公司会购买市场上任何流行的缺陷跟踪产品来管理缺陷的录入、修复和审查。测试人员会将他们发现的缺陷记录到这些缺陷跟踪系统中,开发人员会修复这些缺陷,并在缺陷跟踪数据库中更新充足的修复详细信息。使用缺陷跟踪系统有很多好处。一个重要因素是我们可以在系统中实现特定的工作流程。此外,Bug 可以在一个特定的、集中的地方列出,项目团队的任何成员都可以访问,并且缺陷得到处理。

但是,在后期阶段跟踪 Bug 呢?考虑这样一种情况:您的团队开发了一个应用程序,进行了测试,修复了报告的缺陷,最后交付给客户。在后期,当发现某个已修复的 Bug 没有以正确的方式修复,或者引起了某些问题时,您该怎么办?可以从缺陷跟踪系统中获取已修复 Bug 的历史记录,但这会在源代码中查找这些问题时遇到困难,或者您需要从源代码控制系统中获取源代码的签入历史记录来追踪或跟踪问题。这会花费更多时间,而且如果您急于解决问题,可能会带来更多麻烦。

如果您能够在交付的二进制文件中找到 Bug 描述,这对您来说会有多大帮助?我希望它能让您更轻松地在交付的二进制文件中跟踪早期进行的 Bug 修复。

在二进制文件中跟踪 Bug 的解决方案

这里有一个解决方案,可以在使用 C# 开发的项目中,在程序集中跟踪此类 Bug。通常,对于 Bug 修复,我们会在代码中添加关于已完成修复的注释。除了提供注释或除了提供注释之外,您还可以采用一种特定的 Bug 修复方法,以便在后期在二进制文件中快速跟踪。

Microsoft .NET 在 C# 中提供了两种功能——特性(Attributes)和反射(Reflection)。

特性提供了一种强大的方法,可以将声明性信息与 C# 代码(类型、方法、属性等)关联起来。一旦与程序实体关联,就可以在运行时查询该特性,并以任意方式使用它。

反射是运行时类型发现。也就是说,使用反射服务,您可以在运行时加载程序集并查找类、方法、属性等。除了查找程序集中的类型,您还可以动态调用(后期绑定)这些类型。

如果您是 C# 初学者,在阅读本文提供的应用程序之前,请先了解一下 C# 中的特性和反射。

应用程序概述

从提供的链接下载应用程序。

下载包含 3 个项目

  • Solution1 – BugFixAttribute:一个类库应用程序,它定义了 BugFixAttribute。该解决方案包含一个名为 BugFixAttribute 的类,它继承自 Attribute。该特性包含成员 BugNumberFixedByFixedDateFixDescription。通过属性暴露这些成员的值。
  • Solution2 – TrackBugChanges:一个 Windows 应用程序,用于显示 C# 程序集文件中存在的 Bug 详细信息(作为特性)。在此应用程序中,您需要提供一个程序集名称(例如,Solution3 的可执行文件)。此应用程序将探索二进制文件,并显示该程序集中完成的所有 Bug 修复,包括类名和方法名。
  • Solution3 – DoBugFix:一个示例控制台应用程序,其中实现了 Bug 修复特性。此应用程序将为您提供如何使用 BugFixAttribute 的思路。

在 Solution2 和 Solution3 中,引用了类库 BugFixAttribute

结论

由于这是本文提供的简单应用程序,因此无需在此处解释代码。所需的注释已相应地添加到类文件中。

© . All rights reserved.