SlideShare a Scribd company logo
Программируем по-взрослому!




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

Моё резюме stokito.moikrug.ru
Организатор Криворожского клуба программистов
Веду блог stokito.blogspot.com
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!
Агенда

● Баг-трекер
● Система контроля версий
● Тесты
● Рефакторинг
● Автоматическая сборка
● Непрерывная интеграция
● Парное программирование
● TDD
● Процесс разработки
Баг-трекер (Issue tracker)
Система контроля версий
Система контроля версий
         (VCS)
Модульные Тесты (Unit tests)
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взрослому!
И зачем оно нам надо?

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



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

● Модульные (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.
com
Skype stokito
Все книги описаны в Библиотеке

More Related Content

What's hot (20)

PDF
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
SQALab
 
PPTX
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
Pavel Tsukanov
 
PDF
WP как экспериментальная платформа
SQALab
 
PPTX
Как мы собираем проекты в выделенном окружении в Windows Docker
Positive Hack Days
 
PPTX
Юнит тестирование
Tatiana Borolyuk
 
PPTX
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
OdessaFrontend
 
PDF
Slides
Dev2Dev
 
PDF
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта, или история одно...
CodeFest
 
PPTX
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
COMAQA.BY
 
PPTX
статические анализаторы кода за и против
Roman Kalita
 
PDF
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest
 
PPTX
Способы организаций больших Java проектов по Автоматизированному тестированию
COMAQA.BY
 
PPT
Приемочные тесты на огурце
Alexander Byndyu
 
PPT
Новый процесс тестирования на "старом" проекте
SQALab
 
PPTX
Code review как средство обеспечения качества программного обеспечения
SQALab
 
PDF
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group
 
PDF
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QAFest
 
PPTX
C#5 What's new?
Oleg Kulygin
 
PDF
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
 
PDF
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Mail.ru Group
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
SQALab
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
Pavel Tsukanov
 
WP как экспериментальная платформа
SQALab
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Positive Hack Days
 
Юнит тестирование
Tatiana Borolyuk
 
ThemeForest: Как пробиться и стоит ли игра свеч? | Odessa Frontend Meetup #9
OdessaFrontend
 
Slides
Dev2Dev
 
CodeFest 2011. Климова Н. — FitNesse, полезный для проекта, или история одно...
CodeFest
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
COMAQA.BY
 
статические анализаторы кода за и против
Roman Kalita
 
QA Fes 2016. Анастасия Асеева. Роль тестирования в Devops
QAFest
 
Способы организаций больших Java проектов по Автоматизированному тестированию
COMAQA.BY
 
Приемочные тесты на огурце
Alexander Byndyu
 
Новый процесс тестирования на "старом" проекте
SQALab
 
Code review как средство обеспечения качества программного обеспечения
SQALab
 
Наталья Чуфырина, Mail.Ru Group, «Как создать команду по автоматизации тестир...
Mail.ru Group
 
QA Fest 2016. Денис Яременко. Как облегчить процесс мобильного тестирования
QAFest
 
C#5 What's new?
Oleg Kulygin
 
Компонентный веб. Проникновение в дизайн / Антон Виноградов (АО "Альфа-Банк",...
Ontico
 
Алексей Петров, Mail.Ru Group, "Организация конвейера автоматизации тестирова...
Mail.ru Group
 

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

PPTX
Лучшие практики на практике
Denis Tuchin
 
PPTX
разработка бизнес приложений (8)
Alexander Gornik
 
PDF
Team workflow
Даниил Зайцев
 
PDF
Технологии разработки ПО
Anton Konushin
 
PDF
Тестирование весна 2013 лекция 5
Technopark
 
PDF
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
PDF
На пути к совершенному инжинирингу
Vitebsk DSC
 
PPTX
Agile Testing Process
Return on Intelligence
 
PPTX
Agile Testing Process
Return on Intelligence
 
PDF
Project under control
Alex Simanovich
 
PDF
Рефакторинг
SmartStepGroup
 
PPT
JavaTalks.Unit Testing.Part 1
sgdread
 
PDF
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
Тарасов Константин
 
PDF
Собеседование на позицию Java Developer
Olexandra Dmytrenko
 
PPTX
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
PPTX
Mva stf module 4 - rus
Maxim Shaptala
 
PDF
Юрий Василевский «Автоматизация в XCode»
Yandex
 
PDF
Юрий Василевский "Автоматизация в XCode"
Yandex
 
PPTX
AgileCamp’11 Новосибирск - Test Driven Development (TDD)
Anton Katkov
 
PPTX
Mva stf module 1 - rus
Maxim Shaptala
 
Лучшие практики на практике
Denis Tuchin
 
разработка бизнес приложений (8)
Alexander Gornik
 
Технологии разработки ПО
Anton Konushin
 
Тестирование весна 2013 лекция 5
Technopark
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
HappyDev
 
На пути к совершенному инжинирингу
Vitebsk DSC
 
Agile Testing Process
Return on Intelligence
 
Agile Testing Process
Return on Intelligence
 
Project under control
Alex Simanovich
 
Рефакторинг
SmartStepGroup
 
JavaTalks.Unit Testing.Part 1
sgdread
 
РИФ 2016, Внедрение контроля качества в большом web-проекте на примере Badoo
Тарасов Константин
 
Собеседование на позицию Java Developer
Olexandra Dmytrenko
 
Continious integration-Automated Testing-Solid-Agile
Kairat Yussupov
 
Mva stf module 4 - rus
Maxim Shaptala
 
Юрий Василевский «Автоматизация в XCode»
Yandex
 
Юрий Василевский "Автоматизация в XCode"
Yandex
 
AgileCamp’11 Новосибирск - Test Driven Development (TDD)
Anton Katkov
 
Mva stf module 1 - rus
Maxim Shaptala
 
Ad

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