简而言之:我需要获取我们的数据库 API 的方法列表,这些方法在我们的代码库中实际调用和使用。
更长:我们有一个相当大的代码库,它基于一个(丑陋的)数据库 API。后者有很多接口和相当多的功能,我们根本不需要,我们想摆脱它。重写的第一个原型应该与现有的 API 代码有一百个兼容——因此应该实现它的接口,以便更容易地根据我们的生产代码构建它。
要定义我们使用的方法子集,我可以使用 dotCover 或其他方法进行一些覆盖分析并运行我们的单元测试,但我很确定这只会产生 80% 到 90% 的成功率。我需要的更像是对我们代码的静态分析。另一种方法可能是 api 的动态包装器,它记录每个方法调用,以便在使用后进行良好的覆盖率分析。
我很好奇这样的分析是否可以使用工具完成,或者我是否应该包装 API 以获取所需的信息(手动/自动?它真的很大,有数百或数千种方法)。
顺便提一下:我可以完全访问所有资源,但它们分布在具有自己解决方案的许多模块中。