Pull to refresh
32
13
Artem Rovenskii @rip_m

User

Send message

Интересно, про '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 ищет ошибки в коде?

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

Возможно кому-то будет интересна другая статья на подобную тему: Хорошо ли 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) Я согласен, что наибольший выигрыш будет при использовании значимых типов, в этом и суть. А про разницу для ссылочных типов есть в статье:

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

1

Information

Rating
453-rd
Works in
Registered
Activity