37
Зазеркалье разработки ПО Акуляков Артем .net разработчик сотрудник не известного банка

Slides

Embed Size (px)

DESCRIPTION

Доклад Акуляков Артем - Зазеркалье разработки ПО. Dev2Dev Conf 24.08.2014

Citation preview

Page 1: Slides

Зазеркалье разработки ПО

Акуляков Артем.net разработчик

сотрудник неизвестного банка

Page 2: Slides

Кто я?

● 5+ лет разработки● c#, f#, c++, python● параллельное и асинхронное

программирование● тот еще enterprise разработчик

Page 3: Slides
Page 4: Slides
Page 5: Slides

Рутина

● Управление кодовой базой● Управление задачами● Публикация● Качество кода

Page 6: Slides

Как справится с рутиной?

Page 7: Slides

Выработать devworkflow. Провести автоматизацию с использованием подхода

continuous integration.

Page 8: Slides

Как управлять кодовой базой?

Page 9: Slides

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

● Без неё никак● Git, Mercurial(hg)● Удобное ветвление решает

Page 10: Slides

Ветки — это параллельные реальности вашей кодовой базы.

Page 11: Slides
Page 12: Slides

Пример названия:

Login form #123

Page 13: Slides

Как управлять задачами?

Page 14: Slides
Page 15: Slides
Page 16: Slides

Нужно использовать bug-tracker

Page 17: Slides

Bug-tracker

● Bug-tracker должен быть● В bug-tracker'е не только баги,

но и задачи● Подзадачи необходимы,

обойтись можно, но не надо

Page 18: Slides

Жизненный путь бага\задачи

Page 19: Slides

Рекомендую

Redmine, YouTrack, Jira, Track

Page 20: Slides

Вы используете систему контроля версий и bug-tracker?

Page 21: Slides
Page 22: Slides

Для ленивых - Github, Bitbucket

Page 23: Slides

Как осуществлять публикацию?

Page 24: Slides

Автоматически

● Роботы не ошибаются● Автоматизировать нужно всё

Page 25: Slides

Как контролировать качество кода?

Page 26: Slides

Контроль качества кода

● Это не сложно● Проверка стиля кодирования● Проверка наличия и количества

комментариев

Page 27: Slides

Code review

● Не дает программировать заведомо плохо

● Помогает делить опыт на команду● Меньше ошибок

Page 28: Slides

Как объединить все эти разрозненные части в единый

инструмент?

Page 29: Slides
Page 30: Slides

CI

● CI — это практика частых автоматических сборок проекта.

● Сейчас это методология фиксации и автоматизации рабочего процесса.

Page 31: Slides

CI

Page 32: Slides

CI базируется на событиях

● Изменения в ветке dev● Изменения в ветке test● Изменения в ветке prod

● Закрытие задачи\бага в bug-tracker'е

Page 33: Slides

Когда отдавать версию на тестирование?

Page 34: Slides

● По расписанию● По условию

Page 35: Slides

Когда выпускать новый релиз?

Page 36: Slides

● Механизм milestone

Page 37: Slides

Вопросы?