Онлайн-курс. Экстремальное программирование: пишем код, за который не стыдно
Цель программы -- научить делать качественный продукт быстро, не переписывая каждый раз код с нуля.
«Нетология» запускает учебную программу по экстремальному программированию. Это вовсе не кодинг в условиях крайнего севера, а гибкая методология, заточенная конкретно под разработчиков. Она помогает делать качественный продукт быстро, не переписывая каждый раз код с нуля, и отлично работает в связке с проектными подходами Скрам, Канбан и Лин. За 11 недель опытные программисты научат безопасно рефакторить код, писать понятные и быстрые тесты и не допускать ситуаций, когда работа тормозится на полгода из-за продумывания идеальной архитектуры продукта.
Эта программа для вас, если вы хотите:
- делать качественный продукт и при этом не кодить без отдыха и сна;
- развивать новые возможности продукта, а не бесконечно чинить баги;
- работать с тем, что сразу идёт в работу, а не ждать новый релиз месяцами.
Программа подойдёт:
- Начинающим разработчикам, уставшим от бесконечного переписывания кода;
- Опытным программистам, стремящимся к профессиональному росту;
- Техлидам, которые хотят наладить грамотную работу команды.
Запишитесь на программу и научитесь писать код, за который не стыдно.
Преподаватель курса
- Антон Бевзюк. Director of Trainings and Coaching в Smart Step Groupu
Мы познакомимся с подходами к написанию юнит-тестов, разберемся с именованием, структурой тестов. Узнаем как готовить тестовые данные, чтобы не размывать суть теста. Поймем, чем тестирование-состояние отличается от тестирования-поведения.
Программа курса
- Ценности, принципы и практики экстремального программирования. Что такое экстремальное программирование. История возникновения и разработческая культура. Ценности XP и обзор основных инженерных практик.
- Рефакторинг. Определение, базовые приемы рефакторинга и безопасный рефакторинг. Маленькие шаги, технический долг и управление техническим долгом. Рефакторинг унаследованного кода и продвинутые приемы рефакторинга.
- Юнит-тестирование. Виды тестов и пирамида тестирования. Зачем тестировать код. Тестирование как способ обеспечение качества продукта. Определение и атрибуты хорошего юнит-теста. Структура теста и покрытие кода тестами. Способы именования тестов и тесты дублеры. Тестирование поведения и тестирование состояния. Тестабельный дизайн и шаблоны разработки юнит-тестов. Тестовые фреймворки.
- Разработка через тестирование. Что такое test-driven development. Кто пишет тестыи как написать нетестируемый код. В чем разница между юнит-тестированием, test first и TDD. Внутреннее и внешнее качество системы. Ценность и механика TDD. Red-Green-Refactor и инкрементальный дизайн. Шаблоны красной и зеленой полосы. Проектирование API через тесты. Шаблоны тестабельного дизайна. Подходы к построению дизайна outside-in, inside-out.
- Основные практики экстремального программирования. Как декомпозировать требования на истории, оценивать работу и прогнозировать сроки. Как организовать непрерывную поставку и релизить максимально часто. Зачем нужно парное программирование и когда его стоит применять. Обзор основных практик экстремального программирования. Как разные практики экстремального программирования усиливают и дополняют друг друга. И наконец, как выглядит рабочий день экстремального программиста.