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

mirror world of software development

  • Upload
    0xffaa

  • View
    28

  • Download
    4

Embed Size (px)

Citation preview

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

Акуляков Артем.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

Вопросы?