Поддержка Visual Studio 2019 в PVS-Studio затронула сразу несколько различных компонентов: сам плагин для IDE, command line приложение для анализа, ядра C++ и C# анализаторов, а также несколько утилит. О том, с какими проблемами мы столкнулись в ходе поддержки новой версии IDE и как их решали, я кратко расскажу в данной статье.
Читать полностью »
Рубрика «.net» - 38
Поддержка Visual Studio 2019 в PVS-Studio
2019-06-04 в 10:06, admin, рубрики: .net, .NET Compiler Platform, .net core, C#, msbuild, pvs-studio, roslyn, static analyzer, Visual Studio, Visual Studio 2019, Блог компании PVS-Studio, разработка под windowsSupport of Visual Studio 2019 in PVS-Studio
2019-06-04 в 10:02, admin, рубрики: .net, .NET Compiler Platform, .net core, C#, msbuild, pvs-studio, roslyn, static analyzer, Visual Studio, Visual Studio 2019, Блог компании PVS-Studio, разработка под windowsSupport of Visual Studio 2019 in PVS-Studio affected a number of components: the plugin itself, the command-line analyzer, the cores of the C++ and C# analyzers, and a few utilities. In this article, I will briefly explain what problems we encountered when implementing support of the IDE and how we addressed them.
Читать полностью »
Exceptional situations: part 1 of 4
2019-06-03 в 14:46, admin, рубрики: .net, C#, clr, CoreCLR, csharp, exceptions, ПрограммированиеIntroduction
It’s time to talk about exceptions or, rather, exceptional situations. Before we start, let’s look at the definition. What is an exceptional situation?
This is a situation that makes the execution of current or subsequent code incorrect. I mean different from how it was designed or intended. Such a situation compromises the integrity of an application or its part, e.g. an object. It brings the application into an extraordinary or exceptional state.
But why do we need to define this terminology? Because it will keep us in some boundaries. If we don’t follow the terminology, we can get too far from a designed concept which may result in many ambiguous situations. Let’s see some practical examples:
struct Number
{
public static Number Parse(string source)
{
// ...
if(!parsed)
{
throw new ParsingException();
}
// ...
}
public static bool TryParse(string source, out Number result)
{
// ..
return parsed;
}
}
This example seems a little strange, and it is for a reason. I made this code slightly artificial to show the importance of problems appearing in it. First, let’s look at the Parse
method. Why should it throw an exception?
«Восьмерка» еще даже не вышла RTM а я уже пишу про нее пост. Зачем? Ну, основная идея что тот, кто предупрежден — вооружен. Так что в этом посте будет про то что известно на текущий момент, а если это все посдстава, ну, поделом.
DotNext 2019 Piter: небольшой отчёт
2019-05-30 в 15:13, admin, рубрики: .net, C#, dotnext2019piter, Блог компании JUG.ru Group, конференции15-16 мая прошла конференция DotNext 2019 Piter. Погода в Санкт-Петербурге стояла необыкновенно тёплая. Горожане недоверчиво глядели на странный жёлтый шар в непривычно синем небе и всё никак не могли решить, пора ли уже переходить на летнее пальто. А конгресс-центр гостиницы Park Inn Пулковская открыл двери для посетителей самого большого события в российском дотнете. Вспоминаем, как это было.
Квантовые вычисления в играх, или сходим с ума по-серьезному
2019-05-28 в 16:53, admin, рубрики: .net, Far Cry 3, q#, безумие, будущее рядом, квантовые схемы, квантовые технологии, логические игры, разработка игрЕсли живешь среди сумасшедших, надо и самому научиться быть безумным
Вы когда-нибудь пробовали «научиться быть безумным»? Нетривиальная задачка. Даже нормальной методики не найдешь, ибо каждый сходит с ума по-своему. Моя первая попытка: теория заговора. Теория не предполагает практики, а значит не придется много работать. Опять-таки, при любом раскладе никто не пострадает.
Квантовые вычисления — отличная область для такого исследования. Можно накатать простую схему, но слово «квантовые» придаст веса результатам.
Объект исследования — игра, ибо объект должен простым и привычным молодежи. Кто у нас занимается квантовыми вычислениями и играми? Google.
Итак, еретическая теория: через 5 лет Пейдж и Грин решат, кто будет главным в Google, и сделают это с помощью игры. У каждого из них есть группа исследователей. Команда AlphaGo со своими боевыми нейросетями натянула соперников в Го. Оппоненты вынуждены были искать новые методы, и таки обнаружили инструмент тотального превосходства: квантовые вычисления.
Можно ли использовать Квантовые Вычисления для игр? Легко. Покажем для примера, что игра «охотник на лис» может быть «решена» за 6 ходов. Ради правдоподобности ограничимся 15 кубитами (онлайн-редактор quirk больше пятнадцати не эмулирует), ради простоты проигнорируем ограничения архитектуры процессора и коррекцию ошибок.
Читать полностью »
Тонкости Lambda Expressions в C#
2019-05-27 в 16:43, admin, рубрики: .net, C#, expressions, web-разработка, Программирование, Проектирование и рефакторинг, Разработка веб-сайтовТо, о чем написано в статье, я отлавливал около 10 часов, это были 10 часов непрерывного дебага, которые cвелись к пошаговому сравнению рабочей и нерабочей версий кода, даже не так, к сравнению каждой строчки из окошка дебага рабочей и не рабочей версий кода
Умный парсер числа, записанного прописью
2019-05-27 в 9:18, admin, рубрики: .net, C#, CV, levenstein, ocr, parser, Алгоритмы, обработка изображений, Программирование
Пролог
Добрый день, уважаемые читатели. В данной статье я расскажу о том, как распарсить число, записанное прописью на русском языке.
Умным данный парсер делает возможность извлечения чисел из текста с ошибками, допущенными в результате некорректного ввода или в результате оптического распознавания текста из изображения (OCR).
Для ленивых:
Ссылка на проект github: ссылка.
Make it True — Разработка логической игры на Unity
2019-05-26 в 19:32, admin, рубрики: .net, C#, dependency injection, Gamedev, indie, indie gamedev, longread, unity, zenject, логические игры, мобильные игры, разработка игр
Хочу поделиться процессом разработки простой мобильной игры силами двух разработчиков и художника. Данная статья в большей мере состоит описания технической реализации.
Осторожно, много текста!
Статья не являются руководством или уроком, хотя надеюсь что читатели смогут вынести что то полезное из нее. Рассчитано на разработчиков знакомых с Unity имеющих некоторый опыт в программировании.
Читать полностью »