Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Готовим код 

в мир открытых исходников
Women Techmakers Novosibirsk

International Women’s Day 2017

09.04.2017
Елена Граховац
Елена Граховац
twitter.com/webdeva
github.com/rumyantseva
elena@grahovac.me
бэкенд-разработчик в 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
elena@grahovac.me
бэкенд-разработчик в Openprovider

соведущая подкаста GolangShow

More Related Content

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