是否有(首选免费)工具可以分析方法中可能有多少种不同的组合?我目前正在重构一个有很多if / switch语句的方法,我很好奇这个方法有多少可能的不同执行方式.
假设我有一个简单的方法:
public void DoSomething(bool flag1,int value) { if (flag1) { if (value > 0) { Console.WriteLine("Flag1 & value > 0"); return; } else { Console.WriteLine("Flag1 & value <= 0"); return; } } elseif (value > 0 and value < 10) { Console.WriteLine("Flag1 is false and value between 0 & 10"); return; } if (value < 0) { Console.WriteLine("Flag1 = false & value <= 0"); return; } elseif(value = 0) { Console.WriteLine("Flag1 = false & value >= 10"); return; } Console.WriteLine("nothing else matched"); }
应该有6种可能的方法来执行此方法.
我知道有些工具可以为我计算这个数字(我相信Visual Studio Ultimate可以做到这一点,但不幸的是我只拥有一个专业版).
也许有人知道一个好工具,可以做到这一点.
解决方法
CodeMetrics是即将推出的不再免费的Reflector的免费附加组件.不知道它有多好,我得到了正确版本的VS.