2. Обо мне
Серёжа Пономарёв
● 6 лет программирую за деньги
● Документообороты и веб сайты
● Delphi, PHP, Java сейчас Groovy
● Обучил несколько джуниоров
Моё резюме stokito.moikrug.ru
Организатор Криворожского клуба программистов
Веду блог stokito.blogspot.com
3.
4. Агенда
● Баг-трекер
● Система контроля версий
● Тесты
● Рефакторинг
● Автоматическая сборка
● Непрерывная интеграция
● Парное программирование
● TDD
● Процесс разработки
10. И зачем оно нам надо?
● Поощрение изменений
● Документирование кода
● Делают лучше архитектуру
● Можно тестировать глубокий код
● Ускоряет разработку
Профессиональным программистом ты
становишься когда начинаешь писать тесты
12. Рефакторинг
Refactoring
Изменяем код программы при этом внешне она
работает по старому.
Его цель:
Облегчить понимание её работы.
Не рефакторинг:
● Исправление дефектов
● Оптимизация
● Переписывание "с нуля"
14. Автоматическая сборка
Automatic build
Типичные действия во время сборки:
● Генерация кода
● Компиляция
● Прогон модульных тестов
● Копирование ресурсов (картинок, файлов
конфигураций)
● Упаковка
● Сборка инсталлятора
15. Непрерывная интеграция
Continuous integration (CI)
● Выполняется автоматически
● Типичные шаги:
○ Получить код из репозитория
○ Прогнать модульные тесты
○ Выполнить сборку
○ Установить приложение
○ Прогнать приемочные тесты
○ Прогнать статические анализаторы
○ Если найдена проблема, поднять тревогу
16. Парное программирование
● Роли: "штурман" и "водитель"
● Больше глаз - меньше дефектов
● Лучше архитектура
● Понятнее код
● Обмен знаниями
● Производительность такая же, но багов меньше