交叉引用代码和业务需求

Cross-reference code and business requirements

我很好奇是否存在一种工具可以收集代码中的元数据引用以某种方式 link 业务需求与代码部分?

我目前正在处理一个不执行此类操作的遗留系统,因此我正在设想一个允许我定义元数据标记的 Visual Studio 扩展。一旦它们被定义,我就可以将它们添加到代码部分,以便它们可以被搜索到。

因此,例如,如果我正在处理计费子系统,也许我会添加 [Billing] 标签,以便下一位开发人员知道我用作代码入口点的代码的特定部分。

这是一回事吗?或者甚至可以利用它来发挥作用?我只是发现我经常迷失几个月来学习一个新系统,并且一直希望有一种方法可以搜索代码来满足业务需求。或者至少有一本搜索词词典。

我认为一个问题是业务需求可能不会直接映射到任何类型的模块,而是可能分布在 code-base 上。那么你会把你的标签放在哪里?

要求也可能发生变化,因此您可能有链接到可能不再准确描述当前行为的要求的标签。

我建议改为通过测试记录此类要求。最好尽可能进行自动化测试,但在某些情况下,手动测试可能是合适的。这应该让您知道何时不再满足需求,并且可以让您更改测试或产品。如果您不熟悉代码库,这样的测试也很有用,可以帮助您了解代码的工作原理。

拥有良好的架构、适当的代码注释和某种项目架构文档是使熟悉更容易的其他常用工具,但是所有这些东西都存在并且是最新的是相当罕见的。

将源代码链接到外部系统可能会有一定的风险,因为代码往往比系统和人都长寿。我使用的代码库至少经过了 4 个不同的源代码控制系统和三个不同的问题跟踪器。即使你认为拥有这样的标签是自切片面包以来最好的事情,你的继任者可能会认为这是不必要的膨胀。