29
Готовим код в мир открытых исходников Women Techmakers Novosibirsk International Women’s Day 2017 09.04.2017 Елена Граховац

Готовим код в мир открытых исходников

Embed Size (px)

Citation preview

Готовим код в мир открытых исходников

Women Techmakers NovosibirskInternational Women’s Day 2017

09.04.2017

Елена Граховац

Елена Граховац

twitter.com/webdeva

github.com/rumyantseva [email protected]

бэкенд-разработчик в Openproviderсоведущая подкаста GolangShow

Open Source

3

- Внести свой вклад в развитие технологий - Получить опыт разработки - Поучиться у гуру - Найти новых друзей - Прославиться 🤓

Свой или чужой?

4

Существующий проект

5

- Принести пользу - Улучшить продукт, которым пользуешься - Стать частью сообщества - Поучиться на чужих примерах написания кода - Получить кодревью от более опытных

товарищей

Свой проект

6

- Реализовать давнюю идею - Попробовать себя в разработке “с нуля” - Добавить примеры кода в портфолио - Собрать команду единомышленников

GitHub.com мир открытых исходников и социальная сеть

для разработчиков

7

education.github.com/pack инструменты и сервисы для студентов

8

Присоединяемся к проекту

9

Чем помочь?

10

- Реализовать фичу или пофиксить баг - Улучшить документацию - Перевести документацию или сайт проекта на

иностранный язык - Оставить баг-репорт или фича-реквест

README.md

11

- Описание проекта - Инструкция по развертыванию - Краткая информация о том, как можно

поучаствовать в проекте

CONTRIBUTING.md

12

Подробные правила участия в проекте

Пример для golang/go

Issues

13

- В первую очередь — “help wanted” - В первую очередь — простые задачи - Вознаграждение за “bounty” - Сначала согласовать, потом начать

реализацию тикета

Issues

14

Пример для golang/go

Fork & Pull Request

15

- Какую ветку форкать? - Стандарты кодирования - Правила оформления кода и коммитов - Тесты - В какую ветку делать Pull Request? - Правила оформления Pull Request’ов

Начинаем свой проект

16

README.md

18

- Описание проекта - Инструкция по развертыванию - Информация о том, как можно поучаствовать в

проекте (или файл CONTRIBUTING.md) - Список контрибьюторов (или файл

CONTRIBUTORS)

Всё то же самое 🤓

LICENSE

19

choosealicense.com

Модель работы с Git

20

- Git flow (master, develop, feature, release, hotfix) - Свой вариант - Теги!

Семантическое версионирование

21

semver.org

- Мажорная.Минорная.Патч - Обратная совместимость - Начинать с нуля? 0.0.1 или 0.1.0? - Суффиксы (alpha, beta, rc)

Стандарты кодирования

22

- Выбрать стандарт и следовать ему! - Описать правила для контрибьютеров - Хуки на коммит на стороне клиента (pre-

commit.com) - Хуки на пуш на стороне сервера

Документация

23

- Минимальная — в README.md - Автодокументация, сгенерированная по коду - Документация для библиотеки - Документация для REST API

Тесты

24

- Правильность кода - Пример использования кода - Помощь контрибьюторам

Автосборка

25

- Проверить код на соответствие стандартам - Запустить тесты - Запустить сборку (если требуется)

- Удобно: travis-ci.com для проектов с открытым исходным кодом

Собираем бейджи

26

- Текущая версия - Успешность сборки - Документирование - Покрытие тестами - Соответствие стандартам кодирования - Привлечение внимания - …

badges/shields

Issues & Projects

27

- Теги для тикетов - Планирование версий (“milestones”) - Объединение крупных фич в проекты - Общение с контрибьюторами

Что ещё?

28

- Создать чат для общения с пользователями и

контрибьюторами (gitter.im) - Рассказать про свой проект в тематических

сообществах - Подгтовить доклад о своем проекте на

ближайший митап

Елена Граховац

twitter.com/webdeva

github.com/rumyantseva [email protected]

бэкенд-разработчик в Openproviderсоведущая подкаста GolangShow