• Nullable Reference types in C# 8.0 and static analysis

      Picture 9


      It's not a secret that Microsoft has been working on the 8-th version of C# language for quite a while. The new language version (C# 8.0) is already available in the recent release of Visual Studio 2019, but it's still in beta. This new version is going to have a few features implemented in a somewhat non-obvious, or rather unexpected, way. Nullable Reference types are one of them. This feature is announced as a means to fight Null Reference Exceptions (NRE).
      Read more →
    • Nullable Reference типы в C# 8.0 и статический анализ

        Picture 9


        Не секрет, что Microsoft достаточно давно работает над выпуском восьмой версии C#. В недавно состоявшемся релизе Visual Studio 2019 новая версия языка (C# 8.0) уже доступна, но пока ещё только в качестве beta релиза. В планах этой новой версии есть несколько возможностей, реализация которых может показаться не совсем очевидной, или точнее, не совсем ожидаемой. Одним из таких нововведений стала возможность использования Nullable Reference типов. Заявленным смыслом данного нововведения является борьба с Null Reference Exception'ами (NRE).
        Читать дальше →
      • Поддержка Visual Studio 2017 и Roslyn 2.0 в PVS-Studio: иногда использовать готовые решения не так просто

          В данной статье я хочу рассказать о том, с какими проблемами столкнулись разработчики PVS-Studio при поддержке новой версии Visual Studio. Кроме того, постараюсь ответить на вопрос: почему поддержка нашего C# анализатора, основанного на «готовом решении» (в данном случае, это Roslyn), оказывается в некоторых ситуациях более затратной, чем нашего «самописного» С++ анализатора.
          Читать дальше →
          • +24
          • 7.1k
          • 3
        • Проблемы, с которыми мы столкнулись при обновлении интерфейса PVS-Studio

            Picture 2 В недавно вышедшей новой версии PVS-Studio 6.10 был существенно обновлён графический пользовательский интерфейс Visual Studio плагинов и Standalone версии. Предыдущая версия интерфейса, несмотря на постоянную эволюцию (добавлялись и исчезали новые кнопки и пункты меню), просуществовала практически 6 лет без существенных изменений, впервые появившись в PVS-Studio версии 4.0 в 2010 году.

            В данной заметке мы хотим рассказать, какие причини побудили нас задуматься о необходимости изменения интерфейса, и с какими проблемами мы столкнулись в процессе работы над ним.
            Читать дальше →
          • Интеграция PVS-Studio с системой распределённой сборки IncrediBuild



              PVS-Studio выполняет анализ C/C++ кода и подсказывает программисту, где скрываются ошибки, или указывает на участки кода, которые могут стать проблемными в будущем. Если разрабатываемый проект достаточно большой, то анализ может занимать весьма много времени. Для ускорения анализа большого проекта можно воспользоваться инструментом IncrediBuild. Если у вас уже установлен анализатор PVS-Studio и инструмент IncrediBuild, то из статьи вы узнаете, как их можно подружить и добиться ускорения анализа. В дальнейшем анализатор PVS-Studio будет еще плотней интегрироваться с IncrediBuild. Но ещё раз повторим, что распараллелить запуск PVS-Studio на нескольких машинах можно уже сейчас. Это просто. И в статье мы расскажем, как это сделать.
              Читать дальше →
            • Новый механизм подавления ненужных сообщений анализатора

                PVS-Studio
                На данный момент анализатор PVS-Studio уже имеет механизм для подавления ложных срабатываний (False Positive). Этот механизм полностью устраивает нас с функциональной точки зрения, т.е. у нас нет претензий к надёжности его работы. Однако, у некоторых из наших пользователей и клиентов возникало желание иметь возможность работать с сообщениями анализатора только на «новом», т.е. вновь написанном коде. Это желание вполне можно понять, учитывая, что в крупном проекте анализатор может сгенерировать тысячи или даже десятки тысяч сообщений на существующий код, править которые, конечно, никто не станет.

                Читать дальше →
              • Руководство по разработке модулей расширений на C# для Visual Studio 2005-2012 и Atmel Studio

                  Плагины для C#

                  Аннотация


                  Около года назад мы опубликовали в блоге цикл статей о разработке плагинов для Visual Studio на языке C#. Сейчас мы переработали эти материалы, добавили новые разделы и предлагаем вашему вниманию новый вариант руководства.
                  Читать дальше →
                  • +45
                  • 34.6k
                  • 6