.NET добавляет функцию обнаружения скрытых ошибок


Microsoft добавила новый набор предупреждений для распространенных ошибок кодирования и шаблонов неправильного использования API. Предупреждения будут представлены в компиляторе C # в .NET 5.

Команда разработчиков заявляет, что платформа .NET уже включает «расширенные средства диагностики и предложения кода в .NET SDK по умолчанию», но если вам нужен дополнительный анализ кода, до сих пор вам нужно было установить пакеты NuGet или другие автономные инструменты.

.NET 5 — это комбинация .NET Framework и .NET Core, целью которой является унификация платформы .NET. Новая версия должна стать общедоступной в ноябре.
Команда не хотела добавлять новые предупреждения в C #, потому что это привело бы к остановке кода как неработающему для пользователей, для которых предупреждения установлены как ошибки. Однако, поскольку многие коды действительно нуждаются в предупреждениях, команда добавила новый уровень для AnalysisLevel в компилятор C #.
Уровень анализа по умолчанию для всех проектов, ориентированных на .NET 5, будет установлен на 5, что означает, что будут представлены дополнительные предупреждения (и предложения по их устранению). Вы можете установить более низкий уровень, чтобы избежать появления предупреждений из Visual Studio через страницу свойств анализа кода.
Одним из интересных аспектов нового уровня анализа является тип ошибок кодирования, которые, как показало исследование Microsoft, необходимо проверять. Некоторые из них очевидны — предупреждать, когда выражение всегда истинно или ложно, например, вместе с предупреждением, когда код использует as или находится на статических типах или пытается установить блокировку на не ссылочные типы.
Другие запреты, отмеченные в новом предупреждении, включают неправильное использование повторной генерации исключения путем включения переменной исключения, чтобы оно изменяло детали стека; и случайное сравнение структуры по ссылке.
Другие предупреждения указывают на неправильное использование .NET API, а также ряд предупреждений, помогающих при низкоуровневом кодировании, чтобы избежать проблем, связанных с попытками написать код для высокопроизводительных приложений, нарушающий соображения безопасности.
В будущем Microsoft планирует добавлять новый уровень анализа для каждой версии .NET. Цель состоит в том, чтобы убедиться, что данный уровень анализа всегда представляет один и тот же набор значений анализа по умолчанию (правила и их серьезность). Это означает, что у Microsoft будет способ включить существующее правило по умолчанию, сделав это как новый уровень анализа, а не изменяя существующий уровень.

Больше информации
Сообщение в блоге разработчиков Microsoft о проверке ошибок с задержкой
Статьи по Теме
.NET — это одно целое с .NET 5
Выскажите свое мнение о .NET для Spark

Чтобы быть в курсе новых статей на I Programmer, подпишитесь на нашу еженедельную новостную рассылку, подпишитесь на RSS-канал и подпишитесь на нас в Twitter, Facebook или Linkedin.

Комментарии
Оставьте комментарий или просмотрите существующие комментарии с помощью Disqus
или отправьте свой комментарий по адресу: comments@i-programmer.info


Добавить комментарий