我们有一个庞大的代码库,其中包含许多遗留代码,有时还没有以最有效的形式编写。我想确定可以用一个MultiGet调用替换多个Get方法调用的位置。当前,我们使用NDepend来分析代码,但到目前为止,我仅设法生成了使用Get方法的位置列表(使用n。DepthOfIsUsing),因此无法进行手动分析。
如何通过在源代码中多次出现或在foreach或linq查询中调用来在单个方法中查询特定方法的多种用途?这些情况应确定:
// Scenario 1
var entities = entityIds.Select(_Factory.Get).ToArray();
// Scenario 2
var entityId1 = ...;
var entityId2 = ...;
var entity1 = _Factory.Get(entityId1);
var entity2 = _Factory.Get(entityId2);
// Scenario 3
var entityIds = ...;
foreach (var id in entityIds) {
var entity = _Factory.Get(id):
// do something
}
如果使用NDepend不可行,哪些工具可以执行此分析?