🚀Рассказываем про новые диагностики

В новым релизе PVS-Studio — 7.34, команда C# анализатора сфокусировалась на улучшении Unity направления, но и про диагностики общего назначения не забывает. Сегодня разберем одну из таких – V3207.

В новой диагностике анализатор выявляет некорректное использование паттерна 'not A or B', связанного с путаницей в порядке операций. Рассмотрим пример кода: `private void ShowWordDetails(string key) { if (key is not "" or null) { PanelReferenceBox.Controls.Clear();

CurrentWord = Words.Find(x => x.Name == key); .... } } В начале метода присутствует проверка входного параметра 'key' на пустую строку или 'null'.

Но в логике условного выражения была допущена ошибка. Все дело в том, что приоритет оператора 'not' выше, чем у оператора 'or'. Вследствие этого отрицание не применяется к правой части выражения и если 'key' будет иметь значение 'null' – условие будет 'true'.

Вы еще не забыли про Unity? А мы все равно напомним! В этом релизе появилось сразу 4 новых Untiy-специфичных диагностических правила: V3208, V3209, V3210, V4007.

Но на этом мы не закончили улучшение анализа Unity проектов, ждите еще больше новых диагностик!

#csharp #PVS_Studio`
🚀Рассказываем про новые диагностики 
В новым релизе PVS-Studio — 7.34, команда C# анализатора сфокусировалась на улучшении Unity направления, но и про диагностики общего назначения не забывает | Сетка — новая социальная сеть от hh.ru
repost

19

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь