Мастер-класс от 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
Кроссплатформенная разработка на C и C++ отличается разнообразием вовлеченных инструментов и библиотек, широким спектром используемых стандартов языка и обилием легаси-кода.
CLion — кроссплатформенная интегрированная среда для разработки на C и C++. В рамках данного мастер-класса мы разберем базовые сценарии работы с кодом на C++ и посмотрим, как CLion помогает нам проходить по ним быстрее и эффективнее, разберем множество типичных для C++ проблем и способы их решения с помощью CLion.
В результате вы научитесь:
- быстро разбираться в новом коде, основываясь на дополнительной информации, предоставляемой CLion и полученной на основе анализа кода — ресурсоемкая и непростая задача, если решать ее вручную (типичным примером может быть вывод типов или понимание кода, широко использующего overload resolution)
- использовать мощные возможности платформы IntelliJ для работы с кодом, в том числе интеграцию с VCS, встроенный терминал и плагины для множества других языков, кроме C++
- находить ошибки и исправлять их прямо на лету (без компиляции проекта), включая сложные сценарии, связанные с потоком данных в вашей программе
- рефакторить код на C++, при этом не «разломав» его
- эффективно отлаживать код
- и даже генерировать множество стандартного кода в одно нажатие клавиш на клавиатуре (тем самым уберегая себя от ошибок копирования и разнящихся стилей кодирования)
Часть 2: CMake — билд-система, о которой должен знать каждый С++ разработчик
Вы, наверное, слышали, что CMake постепенно становится стандартом де-факто в мире C++, многие проекты (например, LLVM) мигрируют на нее. А может, даже пытались перевести ваш проект на CMake или, по-крайней мере, задумывались о такой возможности? Тогда это часть для вас!
В рамках данного мастер-класса мы попытаемся объяснить, почему CMake — это не совсем система сборки в привычном нам понимании, обрисовать основные сценарии использования CMake и подробно поговорить про ключевые понятия, команды и подходы. Кроме того, мы уделим внимание тому, как CLion использует информацию из файлов CMake и как он может облегчить их написание.
В результате вы научитесь:
- понимать, какие возможности предоставляет вам CMake
- создавать базовые CMake-проекты
- использовать сторонние библиотеки в ваших CMake-проектах
- понимать и работать с основными командами и конструкциями языка CMake
- использовать «best practices» и избегать антипаттернов CMake
- использовать возможности CLion для облегчения написания файлов CMake
Часть 3: Продуктивная разработка на C++ с использованием ReSharper C++
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