Мы обнаружили следующую ошибку в нашем коде в результате слияния git.
Код: Выделить всё
public static void error(ref string test)
{
var diff = 123 - new Random().Next();
if (diff == 0)
test = $"diff == 0";
{
return;
}
//This will never execute
test = $"diff != 0";
}
Как видите, отсутствие фигурных скобок привело к появлению оператора блокировки с возвратом в нем. Анализ кода сообщает, что код недоступен, что может насторожить большинство людей. Модульный тест также уловит это. Однако проблема в том, что оператор блока редко когда-либо является намерением программистов, и во время слияния git эта ошибка не сразу очевидна (из-за отсутствия анализа кода в большинстве окон слияния).
Можно ли как-нибудь сделать это (оператор блока, а не недостижимый код) ошибкой компиляции/предупреждением через пользовательские правила анализа на C# с помощью Jetbrains Rider или Visual Studio?
Подробнее здесь:
https://stackoverflow.com/questions/743 ... ual-studio