Просмотров: 20860
Дата последнего изменения: 23.09.2021
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Экстремальное программирование
Экстремальное программирование (XP) - вид итеративного процесса, основанный на непрерывности разработки с коротким циклом обратной связи.
![](/images/hl-projects/develop/xp.jpg)
Экстремальное программирование - не методика, а несколько базовых принципов работы. В чистом виде применяется крайне редко, чаще идёт в связке с какими-то итеративными методами. Использование XP требует наличия высокопрофессиональной команды, постоянного контакта с заказчиком, способности гибко реагировать на изменения требований заказчика и, как следствие, к рефакторингу кода.
Базовые принципы XP
- Короткий цикл обратной связи (Fine scale feedback)
- Разработка через тестирование (Test driven development)
- Игра в планирование (Planning game)
- Заказчик всегда рядом (Whole team, Onsite customer)
- Парное программирование (Pair programming)
- Непрерывный, а не пакетный процесс
- Непрерывная интеграция (Continuous Integration)
- Рефакторинг (Design Improvement, Refactor)
- Частые небольшие релизы (Small Releases)
- Понимание, разделяемое всеми
- Простота (Simple design)
- Метафора системы (System metaphor)
- Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership)
- Стандарт кодирования (Coding standard or Coding conventions)
- Социальная защищенность программиста (Programmer welfare):
- 40-часовая рабочая неделя (Sustainable pace, Forty hour week)
В XP многое непривычно. Для многих программистов непривычна работа в паре, непонятно требование писать тесты до написания кода, который они должны тестировать. Профессионализм исполнителей должен быть таким, чтобы разработчик мог в любой момент "въехать" в любой участок кода, поменять его и гарантировать работоспособность своих изменений в рамках всей системы.