Обновить
8K+
53
Artem Rovenskii@rip_m

Пользователь

9
Рейтинг
35
Подписчики
Отправить сообщение

Да, вы правы, в статье есть несколько срабатываний с map. Анализатор обладает всей семантичекой информацией для того, чтобы это определить. Мы решили всё же пока выдавать предупреждения на такой код, но с меньшим уровнем критичности, т.к. код всё равно может оказаться ошибочным. Вполне вероятно, что будущем этот кейс может вообще быть добавлен в исключения для данной диагностики анализатора.

В данном случае возвращается всё же slice

Просто не было такой задачи. Тяжело сделать сравнение со всем на свете, так что выбрали что-то наиболее стандартное.

Список правил будет доступен в документации к моменту старта бета тестирования 6 апреля.

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

Нам кастомный линтер был полезен для поиска одного отладочного метода, который используется только для отладки и валит тесты. Были случаи, когда разработчики забывали убирать его вызовы, это не находили на ревью и валились ночные тесты.

Спасибо за комментарий и спасибо за наводку на видео от Авито, я его ещё не видел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Информация

В рейтинге
876-й
Работает в
Зарегистрирован
Активность