Search
Write a publication
Pull to refresh
50
2
Artem Rovenskii @rip_m

User

Send message

.NET Digest (как и другие материалы PVS-Studio) публикуется не в день написания. Есть множество этапов (вычитки, перевод на английский и прочее), которые скрадывают время. Ждите .NET Digest 8 :)

Да, конечно, поправил. Спасибо!

И у меня аналогично. Особенно, если в чьих-то исходниках используют библиотеки, которые применяю и я. Это повод найти для себя новые варианты работы с ними, исправить у себя ошибки и т.д.

Спасибо за комментарий.
Возможно. Поэтому я и написал, что это не точно ошибка, а просто подозрительный код.

Спасибо за предложение) Может, действительно, добавим разделы по темам для статей.

Спасибо, будем стараться !. Расширения свойств, действительно, должно быть полезным :)

Рад, что вам понравилось. Будем улучшать формат дайджеста)

Спасибо за фидбэк! Будем улучшать :)

Нет, в таком случае анализатор не будет выдавать предупреждение, т.к. иметь в массиве одинаковые элементы является нормальной ситуацией. Здесь же одно из подвыражений явно ошибочно, т.к. если бы первое подвыражение было true, то до второго даже не дошли бы.

А не подскажете конкретнее случай про который вы пишете?

Если вы про подобное сравнение одного и того же элемента массива с дублирующимся числовым литералом, то да, анализатор подобное поймает.

Интересно, про 'null & 0' не знал. А какой смысл проверять на null value type? Manageability это свойство с типом перечисления SettingsManageability и оно не nullable.

Конечно, в статье не всё отражено, вставить всё просто невозможно. Что-то считаешь незначительным, что-то не для всех. Про производительность я соглашусь, но если начинать перечислять, то в комментарии всё равно кто-то придёт и напишет, что что-то забыли :). Поэтому решил ограничиться ссылкой на исчерпывающую статью. Тем более, лучше Тауба сложно сделать.
А вот про отдельные устанавливаемые пакеты действительно лучше сделать отдельные статьи (хотя тогда это будет копирка статей Microsoft), так как здесь хотелось выделить более общие вещи.

Спасибо, за большой комментарий. Постараемся в следующих статьях про .NET учесть.

Да, есть такой момент, но на момент публикации статьи через dotnet-install скрипт уже можно было установить 8.0.100. А теперь ещё и на официальной странице для скачивания появилась новая версия.

FirstOrDefault возвращает не индекс, а первый элемент коллекции, но по контексту я думаю, что в коллекции индексы. Так что первый элемент может быть 0.

Думаю, что самым лёгким вариантом будет использование дефолтного значения, если нет подходящего элемента:
FirstOrDefault(-1)

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

Nullable безусловно полезная штука, хотя и холиварная. Кому-то нравится, а кому-то нет. Мне, например среди C# ошибок из этой статьи больше всего нравится про бесполезный '??'. Про этот кейс могу точно сказать, что его VS 2022 не ловит. Да и статические анализаторы же не только разыменования нулевых ссылок ищут.

ind == 0 ? 0 : -1;
Вы имелли в виду вот так? Индексы обычно начинаются с 0, так что подобное исправление будет ошибочным :).

Конечно, мы всегда сообщаем разработчикам о найденных ошибках и странностях в коде. В основном это issue на GitHub. По PowerToys issue уже создаю, позже добавлю его в коммент.

Спасибо за интересную статью. Думаю, что пока это лишь инструмент для знающего человека, который сэкономит время.

Возможно кому-то будет интересна другая статья на подобную тему: Хорошо ли ChatGPT ищет ошибки в коде?

Интересная новость, спасибо.

Возможно программистам будет интересна статья на подобную тему: Хорошо ли ChatGPT ищет ошибки в коде?

1

Information

Rating
556-th
Works in
Registered
Activity