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

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

Apr 12, 2017

Download

Technology

Elena Grahovac
Welcome message from author
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
Page 1: Готовим код в мир открытых исходников

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

Women Techmakers NovosibirskInternational Women’s Day 2017

09.04.2017

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

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

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

twitter.com/webdeva

github.com/rumyantseva [email protected]

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

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

Open Source

3

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

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

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

4

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

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

5

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

товарищей

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

Свой проект

6

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

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

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

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

7

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

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

8

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

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

9

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

Чем помочь?

10

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

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

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

README.md

11

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

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

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

CONTRIBUTING.md

12

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

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

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

Issues

13

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

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

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

Issues

14

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

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

Fork & Pull Request

15

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

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

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

16

Page 17: Готовим код в мир открытых исходников
Page 18: Готовим код в мир открытых исходников

README.md

18

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

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

CONTRIBUTORS)

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

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

LICENSE

19

choosealicense.com

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

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

20

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

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

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

21

semver.org

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

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

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

22

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

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

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

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

23

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

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

Тесты

24

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

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

Автосборка

25

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

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

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

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

26

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

badges/shields

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

Issues & Projects

27

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

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

Что ещё?

28

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

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

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

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

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

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

twitter.com/webdeva

github.com/rumyantseva [email protected]

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