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

Post on 06-Jul-2015

152 views 0 download

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

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

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

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

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

Агенда

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

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

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

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

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

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

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

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

Виды тестов

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

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

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

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

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

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

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

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

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

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

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

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

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

Test-driven development (TDD)

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

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

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

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

Вопросы?

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

Блог stokito.blogspot.comВсегда отвечаю на почту stokito@gmail.comSkype stokitoВсе книги описаны в Библиотеке