Скрыть
Виртуозное программирование
Каковы основные методы эффективного программирования на C++ и создания легко сопровождаемого кода?
В рамках мастер-класса будут рассмотрены подходы к проектированию и
программированию, основанные на активном использовании
статически-типизированных интерфейсов и управлении ресурсами. О базовых
концепциях вроде иерархий классов и объектно-ориентированном
программировании будет лишь упомянуто, исходя из предположения, что
аудитория знает об этом достаточно много. Внимание будет уделено тому,
как в процессе проектирования и программирования создавать блоки, из
которых в дальнейшем могут быть легко построены более крупные и
тяжеловесные системы и комплексы.
Ключом к надежности и производительности являются простые
"легковесные" классы, безопасность типов, отсутствие прямого
использования указателей и встраивание. Понятие классовой
инвариантности является одним из ключевых элементов и приводит к
стратегии обработки ошибок, основанной на исключениях. В рамках мастер
– класса будет рассматриваться дизайн конкретных классов, создаваемых с
применением этих концепций. Реализация стратегии управления ресурсами,
которая основана на небольших локальных переменных (RTTI, инициализация
выделения ресурсов), будет представлена на примерах с использованием
C++0x (семантика перемещения, unique_ptr). Эти примеры можно
реализовать и на C++98, но их реализация будет являться менее простой.
В перечисленных выше методах важную роль играют шаблоны, которые
являются основой для статической типизации контейнеров и алгоритмов,
обеспечивают общность и позволяют сократить вычислительные и
производственные расходы. На мастер-классе будет представлено
использование шаблонов для обобщенного программирования (в т.ч. с
применением STL - стандартной библиотеки контейнеров и алгоритмов С++)
и метапрограммирования.
Продолжительность: 4 часа.
Доклад будет сделан на английском языке с синхронным переводом на русский.
Стоимость участия в курсе "Виртуозное программирование"
Сентябрь |
Октябрь |
5 400 руб |
6 480 руб |
>>>
Подробнее