Мастер-класс от JetBrains на C++ Russia 2017

Всем привет,

24–25 февраля 2017 года в Москве пройдет очередная ежегодная конференция C++ Russia, организованная сообществом C++ User Group Russia. Компания JetBrains уже несколько лет занимается созданием продуктов для разработки на C++ и традиционно участвует в данном событии. Наших сотрудников вы сможете найти на выставочном стенде в течение обоих дней — задать вопрос, попросить помочь с проблемой с любым из наших продуктов, распросить про возможности наших инструментов, наши планы на будущее, или просто поговорить о языке C++ и не только.

Если же вам хочется стать настоящим гуру разработки на C++, то обратите внимание, что накануне конференции, 23 февраля, запланирована целая серия мастер-классов от бывалых разработчиков.

В блоге C++ User Group Russia уже писали о некоторых из них. Мы же хотим рассказать о мастер-классах (а их запланировано целых три!), которые проведут сотрудники компании JetBrains.

Кстати, билет на мастер-классы — отдельный от билета на конференцию, он включает участие и питание и позволяет посетить любые мастер-классы из программы.

Инструменты для эффективной разработки на C++

Язык C++ не прост в обучении и использовании, а прорывная эволюция недавних стандартов (так называемый современный C++) хоть и решила множество проблем, но при этом существенно повысила уровень сложности языка. Создавать качественный код на C++ быстро и эффективно — это определенное искусство. К счастью, есть инструменты, которые помогают нам в этом. Разработкой именно таких инструментов занимается компания JetBrains.

Данная серия мастер-классов направлена на то, чтобы научить вас повышать эффективность и качество разработки на C++ с помощью CLion и ReSharper C++. Мы также хотим предоставить вам возможность познакомиться с одной из наиболее популярных сегодня систем сборки проектов — CMake.

Помимо прочего, у вас будет время и возможность задать любые вопросы по нашим продуктам членам команд CLion и ReSharper C++, даже если они не связаны напрямую с материалами мастер-класса.

Часть 1: Продуктивная кроссплатформенная разработка на C++ с использованием CLion


75e0e2197f2c451fb5c859a783b0848b.png
Кроссплатформенная разработка на C и C++ отличается разнообразием вовлеченных инструментов и библиотек, широким спектром используемых стандартов языка и обилием легаси-кода.

CLion — кроссплатформенная интегрированная среда для разработки на C и C++. В рамках данного мастер-класса мы разберем базовые сценарии работы с кодом на C++ и посмотрим, как CLion помогает нам проходить по ним быстрее и эффективнее, разберем множество типичных для C++ проблем и способы их решения с помощью CLion.

В результате вы научитесь:

  • быстро разбираться в новом коде, основываясь на дополнительной информации, предоставляемой CLion и полученной на основе анализа кода — ресурсоемкая и непростая задача, если решать ее вручную (типичным примером может быть вывод типов или понимание кода, широко использующего overload resolution)
  • использовать мощные возможности платформы IntelliJ для работы с кодом, в том числе интеграцию с VCS, встроенный терминал и плагины для множества других языков, кроме C++
  • находить ошибки и исправлять их прямо на лету (без компиляции проекта), включая сложные сценарии, связанные с потоком данных в вашей программе
  • рефакторить код на C++, при этом не «разломав» его
  • эффективно отлаживать код
  • и даже генерировать множество стандартного кода в одно нажатие клавиш на клавиатуре (тем самым уберегая себя от ошибок копирования и разнящихся стилей кодирования)

Часть 2: CMake — билд-система, о которой должен знать каждый С++ разработчик


028862345cd9459495cf6693f3ce9491.png
Вы, наверное, слышали, что CMake постепенно становится стандартом де-факто в мире C++, многие проекты (например, LLVM) мигрируют на нее. А может, даже пытались перевести ваш проект на CMake или, по-крайней мере, задумывались о такой возможности? Тогда это часть для вас!

В рамках данного мастер-класса мы попытаемся объяснить, почему CMake — это не совсем система сборки в привычном нам понимании, обрисовать основные сценарии использования CMake и подробно поговорить про ключевые понятия, команды и подходы. Кроме того, мы уделим внимание тому, как CLion использует информацию из файлов CMake и как он может облегчить их написание.

В результате вы научитесь:

  • понимать, какие возможности предоставляет вам CMake
  • создавать базовые CMake-проекты
  • использовать сторонние библиотеки в ваших CMake-проектах
  • понимать и работать с основными командами и конструкциями языка CMake
  • использовать «best practices» и избегать антипаттернов CMake
  • использовать возможности CLion для облегчения написания файлов CMake

Часть 3: Продуктивная разработка на C++ с использованием ReSharper C++


5230171ad83b436bb79dcb65c1b6cadf.png
ReSharper C++ — расширение Visual Studio для разработки на C и C++. В рамках данного мастер-класса мы разберем распространенные сценарии работы с кодом на C++ и посмотрим, чем может быть полезным в них ReSharper C++. Увидим, как ReSharper C++ находит и помогает исправить некоторые типичные для C++ проблемы.

В результате вы научитесь:

  • быстро разбираться в новом коде. Вот некоторые возможности ReSharper C++ помогающие в решении этой задачи:
    • навигация, включая нетривиальные случаи перегруженных функций и специализированных шаблонов
    • разнообразные поиски (по имени символа, по переопределенным методам, поиск по базовым классам, …)
    • всплывающие подсказки с документацией для символов
    • Type Hierarchy, Include Hierarchy, File Structure

  • находить ошибки и подозрительные места в коде и исправлять их прямо на лету
  • отлаживать сложные compile-time ошибки при раскрытии макросов и шаблонном метапрограммировании
  • создавать и запускать unit-тесты
  • рефакторить код на C++, при этом не «разломав» его
  • и даже генерировать множество стандартного кода в одно нажатие клавиш на клавиатуре

Кроме того, в мастер-классе будут даны рекомендации по оптимизации производительности ReSharper.

Значительная часть функциональности, о которой будет рассказано, не является специфичной для C++, поэтому доступна и для других языков, поддерживаемых ReSharper«ом.

Все детали доступны по ссылке.

Будем рады вас видеть на наших мастер-классах и на самой конференции!
C++ команда JetBrains

Комментарии (0)

© Habrahabr.ru