серёжа пономарёв @ kuchyn.com.ua junior java developer программируем...

21
Программируем по-взрослому! Современные инженерные практики и процессы разработки

Upload: sergey-ponomarev

Post on 06-Jul-2015

151 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Программируем по-взрослому!

Современные инженерные практики и процессы разработки

Page 2: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Обо мнеСерёжа Пономарёв● 6 лет программирую за деньги● Документообороты и веб сайты● Delphi, PHP, Java сейчас Groovy● Обучил несколько джуниоров

Моё резюме stokito.moikrug.ruОрганизатор Криворожского клуба программистовВеду блог stokito.blogspot.com

Page 3: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!
Page 4: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Агенда

●Баг-трекер●Система контроля версий●Тесты●Рефакторинг●Автоматическая сборка●Непрерывная интеграция●Парное программирование●TDD●Процесс разработки

Page 5: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Баг-трекер (Issue tracker)

Page 6: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Система контроля версий

Page 7: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Система контроля версий (VCS)

Page 8: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Модульные Тесты (Unit tests)

Page 9: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!
Page 10: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

●Поощрение изменений●Документирование кода●Делают лучше архитектуру●Можно тестировать глубокий код●Ускоряет разработку

И зачем оно нам надо?

Профессиональным программистом ты становишься когда начинаешь писать тесты

Page 11: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Виды тестов

● Модульные (Unit tests)● Интеграционные (Integration tests)● Функциональные (Functional tests)

Page 12: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

РефакторингRefactoring

Изменяем код программы при этом внешне она работает по старому.Его цель:Облегчить понимание её работы.

Не рефакторинг:●Исправление дефектов●Оптимизация●Переписывание "с нуля"

Page 13: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Мартин Фаулер Рефакторинг

Page 14: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Автоматическая сборкаAutomatic build

Типичные действия во время сборки:● Генерация кода● Компиляция● Прогон модульных тестов● Копирование ресурсов (картинок, файлов

конфигураций)● Упаковка● Сборка инсталлятора

Page 15: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Непрерывная интеграцияContinuous integration (CI)

● Выполняется автоматически● Типичные шаги:

○ Получить код из репозитория○ Прогнать модульные тесты○ Выполнить сборку○ Установить приложение○ Прогнать приемочные тесты○ Прогнать статические анализаторы○ Если найдена проблема, поднять тревогу

Page 16: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Парное программирование

● Роли: "штурман" и "водитель"● Больше глаз - меньше дефектов● Лучше архитектура● Понятнее код● Обмен знаниями● Производительность такая же, но багов меньше

Page 17: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Test-driven development (TDD)

Page 18: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Водопадная модель (Waterfall)

Переход к другой фазе происходит только после полного завершения предыдущей

Page 19: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Гибка модель (Agile, SCRUM)

Из книги Х. Книберг "Scrum и XP: заметки с передовой"

Page 20: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Вопросы?

Page 21: серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!

Спасибо за внимание!

Блог stokito.blogspot.comВсегда отвечаю на почту [email protected] stokitoВсе книги описаны в Библиотеке