Петров Алексей рассказывает об объектно-ориентированных идиомах языка С++ и управлении памятью. Говорит о статическом анализе и рефакторинге исходного кода, анти-шаблонах, логических и семантических ошибках и о «техническом долге» проекта. Раскрывает понятия, факторы и метрики качества исходного кода, его оформление и документирование. Рассказывает о методах промышленной обработки.
- Идиома языка программирования?
- Пространство идиом C++
- Классы или структуры?
- Объектно-ориентированные идиомы C++: примеры
- Идиомы повышенного уровня сложности
- Идиома №1. Контекстно-зависимая перегрузка индексирования
- Идиома №2. «Автоматическая» сборка мусора. Подсчет ссылок
- Идиома №3. Управление памятью заменой операций new и delete
- Создание объектов в пуле динамического размера
- Идиома №4. «Конверт/письмо» и делегированный полиморфизм
- Делегированный полиморфизм в действии
- Рефакторинг исходного кода
- Статический анализ и инспекция кода
- Типовые анти-шаблоны и «грязные техники»
- Типовые логико-семантические ошибки в программном коде
- Вопросы оптимизации
- Оптимизация программ по производительности
- Оптимизация программ по размеру объектного кода и памяти данных
- Актуальность проблем качества
- Понятие качества. Что такое «качественное ПО»?
- Функциональные и структурные показатели качества кода
- Модели качества ПО
- Качество ПО по МакКолу
- Факторы качества ПО
- Модель МакКола: как это работает?
- Качество ПО по Боэму
- Качество ПО согласно ISO 9126
- Желаемые структурные характеристики
- Цели в модели качества ISO 9126 и характеристики SQuaRE
- Модель SQuaRE: надежность
- Модель SQuaRE: эффективность
- Модель SQuaRE: безопасность
- Модель SQuaRE: удобство сопровождения
- Модель SQuaRE: размер кода
- Метрики в модели качества ISO 9126
- Сложность как атрибут качества ПО
- Управление сложностью исходного кода.
- Предварительное проектирование и сложность кода
- «Технический долг»: его накопление и снижение «Технический долг»
- Стандарты и стили кода
- Соглашение о кодировании и его роль в командной разработке
- Правила организации и способы записи исходного кода на языке C++
- Ортодоксальная каноническая форма класса
- Ортодоксальная каноническая форма класса
- Комментирование и документирование кода
- Жизненный цикл разработки ПО
- Каскадная и итеративная модели жизненного цикла ПО
- V-модель жизненного цикла разработки программных систем Верификация и валидация
- «Гибкие» методологии разработки
- Методологии TDD, Scrum Разработка через тестирование
- поддерживающие «дисциплины»
- Руководство SWEBoK Software Engineering Body of Knowledge