PVS-Studio: поиск ошибок в коде программ
13.01
🚀Рассказываем про новые диагностики
В новым релизе 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: поиск ошибок в коде программ
13.01
войдите, чтобы увидеть
и подписаться на интересных профи