Настройте Resharper так, чтобы он требовал явного сравнения с истиной и требовал выражения "Yoda" - PullRequest
1 голос
/ 15 октября 2019

Я хочу настроить шаблоны ReSharper для перехвата операторов if, которые явно не сравниваются с истиной (т. Е. if(foo)), и условий, которые имеют значение true в качестве второго аргумента сравнения (т. Е. if(foo == true) - я хочу, чтобы trueбыть первым, также известным как условие йода)

Я бы хотел, чтобы следующее было поймано

// given foo is a bool
// and Bar() returns bool 
if (foo)
{
}

if (Bar())
{
}

if (foo == true)
{
}

Пока мне удалось получить сравнение, которое соответствует первому случаю, хотяЯ не уверен, что это лучший способ, и может ли он вызвать какие-либо ложные срабатывания ..

Pattern catching no explicit comparison

1) Есть ли шанс, что сравнениеможет поймать что-нибудь непреднамеренное?

2) Есть ли способ поймать два других случая?

Примечание: я работаю с руководством по стилю, которое я не могу изменить, поэтому мне приходится кодировать таким образом, даже если неявные версии чище ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...