All streams
Search
Write a publication
Pull to refresh
50
8
Artem Rovenskii @rip_m

User

Send message

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

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

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

Может кому-то интересна похожая тема: Хорошо ли ChatGPT ищет ошибки в коде?

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

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

Вполне возможно, но примеры из документации использовались и из новых диагностических правил, которые были опубликованы после 2021 года. ChatGPT обучался на информации до 2021 года.

Предполагаю, что даже переименование переменных ухудшит результаты.

Интересно, можно попробовать.

Интересно, а что вы подразумеваете под отладкой кода?

С Go не знаком, но не могу не согласиться :). Native AOT выглядит очень круто.

Я не называл Generic Math не интересной фишкой :). Если вы про то, что в статье не рассказывается про неё, то хочу заметить, что я дал ссылку на подробную статью по разбору нововведений C# 11.

А не подскажете в какой версии было иначе? Я посмотрел .net 5 и .net framework 4.8 и 4.5.1, везде ёмкость по умолчанию равна 4.

Да, вы правы, можно было бы написать про это. Про используемые алгоритмы сортировки есть на MSDN:

This method uses Array.Sort, which applies the introspective sort as follows:

1) If the partition size is less than or equal to 16 elements, it uses an insertion sort algorithm;

2) If the number of partitions exceeds 2 log n, where n is the range of the input array, it uses a Heapsort algorithm;

3) Otherwise, it uses a Quicksort algorithm.

....

This method is an O(n log n) operation, where n is Count.

1) Актуальный на сегодняшнее время .NET 6.0.9. Как вам уже ответили ранее, размер увеличивается в два раза. В статье написано про это в описании алгоритма работы метода Grow:

если внутренний массив пуст, то ёмкость списка будет равна 4, иначе удвоенной длине массива

2) Я согласен, что наибольший выигрыш будет при использовании значимых типов, в этом и суть. А про разницу для ссылочных типов есть в статье:

Разница при использовании ссылочных типов несущественная, так как нет операций упаковки и распаковки, которые являются очень тяжёлыми.

Мы стараемся придерживаться ритмичности в выпуске диагностик. Каждый релиз должно быть примерно одинаковое количество новых правил. А качество диагностик, действительно, на человеческой оценке. Диагностику оценивают несколько людей на всех этапах ревью :)

Действительно, иногда лучше просто поставить лишнюю проверку, чтобы не тратить много времени на понимание кода. Но это может и стрельнуть, т.к. ненужная проверка может оказаться неверной из-за изменений переплетённого кода (как вы и написали).

Касаемо оптимизаций. Думаю, что статический анализ, несомненно, может предоставить ценные сведения для компилятора. Компилятор и сейчас использует статический анализ во время компиляции исходного кода. Вот только компилятор ограничен в своих возможностях статического анализа, так как его основной задачей является именно компиляция кода. Отдельные же утилиты не скованны так сильно во времени. Кстати, есть мысль, что некоторые диагностики из тех, что не дают ложных срабатываний, иногда и оказываются в компиляторе.

Что вы имеете ввиду под "цели команды качества"? Что должно быть условные пять диагностик в релиз или одна, но очень крутая?

Большое спасибо за комментарий! Мы рады, что наш инструмент оказался вам полезен. По всем возникающим вопросам вы можете обращаться в поддержку.

Идея мне нравится, можно было бы проверить даже не один проект, а группу проектов, соответствующих теме Security. Спасибо за отличную идею! А что касается Kubernetes, он написан на Go, а PVS-Studio только для C, C++, C# и Java.

Да, вам потребуется открыть проект через Unity Hub -> Assets -> Open C# Project. У вас откроется IDE, заданная в настройках редактора Unity.

Например, в Visual Studio 2022 можно использовать пункт меню: Extensions -> PVS-Studio -> Check -> Solution. Также можно проверить только текущий открытый файл.

Исходя из документации, Unity поддерживает следующие среды разработки:

·         Visual Studio

·         Visual Studio Code

·         JetBrains Rider

Для Visual Studio и Rider у PVS-Studio имеется плагин, где вы можете запустить анализ и ознакомиться с его результатами. Из VS Code нельзя напрямую запустить анализ, но можно просматривать отчёт с помощь плагина Sarif Viewer.

Под Linux имеются C#, С++ и Java анализаторы. А вот докер образов, к сожалению, пока нет, но его действительно можно сделать. Возможно вам помогут данные материалы: Запуск PVS-Studio в Docker и Установка и обновление PVS-Studio в Linux.

2

Information

Rating
769-th
Works in
Registered
Activity