Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

202 views

Published on

Как начать свой путь в мире Open Source

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Готовим код 
 в мир открытых исходников Women Techmakers Novosibirsk
 International Women’s Day 2017
 09.04.2017 Елена Граховац
  2. 2. Елена Граховац twitter.com/webdeva github.com/rumyantseva elena@grahovac.me бэкенд-разработчик в Openprovider
 соведущая подкаста GolangShow
  3. 3. Open Source 3 - Внести свой вклад в развитие технологий - Получить опыт разработки - Поучиться у гуру - Найти новых друзей - Прославиться 🤓
  4. 4. Свой или чужой? 4
  5. 5. Существующий проект 5 - Принести пользу - Улучшить продукт, которым пользуешься - Стать частью сообщества - Поучиться на чужих примерах написания кода - Получить кодревью от более опытных товарищей
  6. 6. Свой проект 6 - Реализовать давнюю идею - Попробовать себя в разработке “с нуля” - Добавить примеры кода в портфолио - Собрать команду единомышленников
  7. 7. GitHub.com мир открытых исходников и социальная сеть для разработчиков 7
  8. 8. education.github.com/pack инструменты и сервисы для студентов 8
  9. 9. Присоединяемся к проекту 9
  10. 10. Чем помочь? 10 - Реализовать фичу или пофиксить баг - Улучшить документацию - Перевести документацию или сайт проекта на иностранный язык - Оставить баг-репорт или фича-реквест
  11. 11. README.md 11 - Описание проекта - Инструкция по развертыванию - Краткая информация о том, как можно поучаствовать в проекте
  12. 12. CONTRIBUTING.md 12 Подробные правила участия в проекте Пример для golang/go
  13. 13. Issues 13 - В первую очередь — “help wanted” - В первую очередь — простые задачи - Вознаграждение за “bounty” - Сначала согласовать, потом начать реализацию тикета
  14. 14. Issues 14 Пример для golang/go
  15. 15. Fork & Pull Request 15 - Какую ветку форкать? - Стандарты кодирования - Правила оформления кода и коммитов - Тесты - В какую ветку делать Pull Request? - Правила оформления Pull Request’ов
  16. 16. Начинаем свой проект 16
  17. 17. README.md 18 - Описание проекта - Инструкция по развертыванию - Информация о том, как можно поучаствовать в проекте (или файл CONTRIBUTING.md) - Список контрибьюторов (или файл CONTRIBUTORS) Всё то же самое 🤓
  18. 18. LICENSE 19 choosealicense.com
  19. 19. Модель работы с Git 20 - Git flow (master, develop, feature, release, hotfix) - Свой вариант - Теги!
  20. 20. Семантическое версионирование 21 semver.org - Мажорная.Минорная.Патч - Обратная совместимость - Начинать с нуля? 0.0.1 или 0.1.0? - Суффиксы (alpha, beta, rc)
  21. 21. Стандарты кодирования 22 - Выбрать стандарт и следовать ему! - Описать правила для контрибьютеров - Хуки на коммит на стороне клиента (pre- commit.com) - Хуки на пуш на стороне сервера
  22. 22. Документация 23 - Минимальная — в README.md - Автодокументация, сгенерированная по коду - Документация для библиотеки - Документация для REST API
  23. 23. Тесты 24 - Правильность кода - Пример использования кода - Помощь контрибьюторам
  24. 24. Автосборка 25 - Проверить код на соответствие стандартам - Запустить тесты - Запустить сборку (если требуется) - Удобно: travis-ci.com для проектов с открытым исходным кодом
  25. 25. Собираем бейджи 26 - Текущая версия - Успешность сборки - Документирование - Покрытие тестами - Соответствие стандартам кодирования - Привлечение внимания - … badges/shields
  26. 26. Issues & Projects 27 - Теги для тикетов - Планирование версий (“milestones”) - Объединение крупных фич в проекты - Общение с контрибьюторами
  27. 27. Что ещё? 28 - Создать чат для общения с пользователями и контрибьюторами (gitter.im) - Рассказать про свой проект в тематических сообществах - Подгтовить доклад о своем проекте на ближайший митап
  28. 28. Елена Граховац twitter.com/webdeva github.com/rumyantseva elena@grahovac.me бэкенд-разработчик в Openprovider
 соведущая подкаста GolangShow

×