mirror world of software development

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

Transcript of mirror world of software development

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

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

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

Кто я?

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

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

Рутина

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

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

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

continuous integration.

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

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

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

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

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

Login form #123

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

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

Bug-tracker

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

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

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

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

Рекомендую

Redmine, YouTrack, Jira, Track

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

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

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

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

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

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

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

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

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

Code review

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

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

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

инструмент?

CI

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

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

CI

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

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

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

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

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

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

● Механизм milestone

Вопросы?