This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Зазеркалье разработки ПО
Акуляков Артем.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