PVS-Studio
1.53K subscribers
1.25K photos
44 videos
2 files
1.29K links
Тот самый анализатор с Хабра:
https://pvs-studio.ru/ru/
Download Telegram
PowerShell — известный инструмент автоматизации от Microsoft. Но какие секреты сможет найти статический анализатор в его исходном коде? 🤔

Посмотрим в этой статье 🔗

#csharp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
7
💻 — один из самых популярных языков программирования, используемый для разработки приложений, веб-сервисов и игр.

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

Переходите по ссылке 🔗

#статья #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
6🗿11
🔥.NET Digest #7

Добро пожаловать на седьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз мы расскажем про .NET 10 preview 2 и 3, новый релиз Mono, множество интересных статей и, конечно же, AI. Команда PVS-Studio рада представить вам подборку самых интересных и полезных материалов.

Переходите по ссылке 🔗

#csharp #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
52
Друзья, рады предоставить вам подборку Telegram-каналов про разработку. Вас ждут каналы про языки C++, C# и Java 👍

Если хотите прокачать скиллы или просто читать годный контент — загляните в статью!

#статья #cpp #csharp #java
Please open Telegram to view this post
VIEW IN TELEGRAM
5
В эпоху монолитных UI-фреймворков существовала легенда о земле, где один код правил всеми платформами. Сегодня мы ступаем на берега этого забытого материка зовущегося Avalonia.

Переходите по ссылке 🔗

#статья #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Добро пожаловать на восьмой выпуск нашего дайджеста, посвящённого новостям и событиям в мире .NET! В этот раз мы расскажем про уже ожидаемые .NET 10 preview 4 и 5, новую команду dotnet run app.cs и множество интересных статей.

Переходите по ссылке 🔗

#статья #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Каждый, кто хотя бы раз запускал Visual Studio, имел дело с файлом формата .sln. Это файл решения, который содержит информацию о структуре, конфигурации сборки, настройках платформы и других параметров.

Но зачем спустя столько лет вводить новый формат .slnx и чем они друг от друга отличаются?

Разберёмся в этой статье 🔗

#статья #csharp
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Что нужно для взаимодействия с операционной системой исключительно через клавиатуру? Это вопрос, на который каждый разработчик даст свой ответ, и как на него ответили Microsoft, выпустив Windows Terminal?

Усаживайтесь поудобнее перед монитором с вашим любимым виртуальным терминалом (а вдруг вы из текстового браузера эту статью будете читать?), PVS-Studio выходит на сцену.

#статья #cpp #csharp
4
В наше время многие интересуются биржами, акциями, облигациями, а некоторые даже имеют свои портфели (речь не про школьников). Существует множество технологий и инструментов для автоматизации торговли. А теперь представьте, к каким убыткам могут привести ошибки в исходном коде такого программного обеспечения.

Поэтому давайте посмотрим на потенциальные ошибки в популярном торговом движке Lean 📈

#cтатья #csharp
3
⚡️В новым релизе PVS-Studio — 7.38, команда C# подготовила несколько новых и интересных диагностик. Сегодня разберем одну из таких – V3225.

Но перед тем, как мы расскажем про нее - предлагаем вам попробовать угадать её суть по ошибке в коде:
public void ProcessStream(Stream strm){
....

byte[] bytes = new byte[strm.Length + 10]

int numBytesRead = 0;

try {
int numRead = strm.Read
(bytes, numBytesRead, 1);

if (numRead == -1) {
throw new InvalidHeaderException
("Failed to read long name entry");
....
}

}
catch (InvalidHeaderException ex) {....}
}

Уже нашли ошибку? Она не самая очевидная!
Дело в том, что некоторые методы возвращают значение, обозначающее успешность его выполнения (например, -1, 1 или 0).

В данном примере, разработчик ожидал, что метод Read может вернуть -1 и обрабатывает этот случай в блоке catch, но эта ситуация невозможна.

Проблема в том, что метод Read не сможет вернуть -1 (минимальное возможное значение для него 0). В итоге, ситуация, которую хотел избежать разработчик - не вызовет исключение, что может нарушить работу программы.

Анализатор же без проблем находит такую проблему и подсвечивает её прямо в коде:
`Предупреждение PVS-Studio: V3225. The 'Read' method returns the number of bytes that were read and cannot return the value of -1.`


Если вам понравилась эта диагностика – обязательно ознакомьтесь с остальными в новом пресс-релизе для версии PVS-Studio 7.38.

#csharp #PVS_Studio
Please open Telegram to view this post
VIEW IN TELEGRAM
11