Существует ли (предпочтительный бесплатный) инструмент, который может анализировать, сколько различных комбинаций возможно в методе?В настоящее время я занимаюсь рефакторингом метода, который имеет много много операторов 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 может сделать это, но, к сожалению, у меня есть только Профессиональная версия).
Может быть, кто-то знает хороший инструмент, который может это сделать.