Жизнь без линтеров и расчет цены абстракции: материалы для разработчиков на С++

ca023b290d9ec8ec48d583fff9ed3c97.jpg

В марте собрали «плюсовиков» на митапе в Санкт-Петербурге. Всем понравилось, поэтому смело принесли вам записи докладов и дискуссии с экспертами из YADRO, VK и Kaspersky, а также создателем Sprinx Андреем Аксёновым. Выбирайте доклад на вечер пятницы (дискуссия про код-ревью зайдет с попкорном) и сохраняйте в закладки:

  • Руководитель отдела компиляторов научит рассчитывать цену абстракции для функций и других сущностей с учетом ваших ресурсов и возможностей компилятора.

  • Эксперт из PVS-Studio покажет, почему линтеры не всегда подходят для поиска ошибок и какое решение использовать вместо них, чтобы не навредить безопасности сервиса.

  • Инженеры с весомым стажем работы на С++ поделятся опытом проведения код-ревью — найдете в их практиках что-то полезное или просто посмеетесь вместе с участниками дискуссии над курьезными случаями.

Цена абстракции 

Рассказал: Константин Владимиров, руководитель отдела компиляторов и инструментов разработки в Syntacore.

Коротко о сути доклада: Константин Владимиров считает, что разумная цена абстракции — это когда разработчик правильно ее применил, а компилятор сделал все, что смог.На «разумность» цены абстракции в C++ влияет микроархитектура, компилятор библиотеки и семантика языка программирования. Докладчик рассказывает, как сделать цену разумной для виртуальных функций, корутин и ranges. Также вы узнаете, каких ошибок следует избегать, чтобы не «платить» слишком дорого.

Зачем смотреть: В комментариях к трансляции писали, что смотреть доклад можно хотя бы ради самого Константина Владимирова. Помимо харизматичного докладчика, материал интересен онлайн-разбором с примерами, как регулировать цену абстракции. 

Презентация →

Линтеры для C++ — хорошо, но недостаточно 

Рассказал: Евгений Фёклин, разработчик ядра анализатора кода в PVS-Studio.

Коротко о сути доклада: Линтеры помогают искать ошибки в коде: выделяют небезопасные функции или неиспользуемые переменные. Но стоит усложнить условия — например, добавить скобки — и линтеры уже не справляются, потому что следуют жестким правилам и не всегда понимают смысл кода. В докладе Евгений объясняет, почему так происходит и что нужно знать, чтобы строить сложные диагностики и делать код более безопасным.

Зачем смотреть: Посмотреть на реальные ошибки и способы их исправить в тех случаях, когда линтеры не работают.

Презентация →

Дискуссия «Код ревью — это когда…» 

Участники:  

  • Илья Казаков, разработчик в команде систем хранения данных в YADRO

  • Андрей Аксёнов, создатель Sphinx

  • Александр Еналдиев, техлид в контентной фильтрации в Kaspersky

  • Станислав Юрченко, разработчик в VK AdTech

Коротко о сути дискуссии: Инженеры из разных компаний обсуждают код-ревью: сколько файлов должно быть в пул-реквесте, как долго может длиться ревью и существует ли идеальный процесс (спойлер: нет). Эксперты также отвечают на вопросы зрителей и много шутят — идеальный образовательный контент для прослушивания фоном. 

Зачем смотреть: Сравнить опыт разработчиков с собственным и успокоиться, что идеального процесса код-ревью все еще не существует.

Что еще почитать разработчику на С++:

Habrahabr.ru прочитано 6895 раз