26
Качественная библиотека с нуля Инструменты, технологии и принятие в Boost Antony Polukhin Полухин Антон Boost libraries maintainer (LexicalCast, Any, TypeIndex, Conversion) + Boost.CircularBuffer, Boost.Variant

Библиотека Boost с нуля на примере Boost.DLL

Embed Size (px)

Citation preview

Page 1: Библиотека Boost с нуля на примере Boost.DLL

Качественная библиотека с нуля

Инструменты, технологии и принятие в Boost

Antony PolukhinПолухин Антон

Boost libraries maintainer (LexicalCast, Any, TypeIndex, Conversion)+ Boost.CircularBuffer, Boost.Variant

Page 2: Библиотека Boost с нуля на примере Boost.DLL

СодержаниеОбщая часть: * Идея * Переносимость * Лицензия * Инструменты тестирования

* Документация* Проверяем заинтересованность

Boost специфичная часть:* Требования* The Review

* После принятия

Page 3: Библиотека Boost с нуля на примере Boost.DLL

Идея

* найти проблему* проверить существующие решения* узнать как решать

Page 4: Библиотека Boost с нуля на примере Boost.DLL

Идея

Page 5: Библиотека Boost с нуля на примере Boost.DLL

Переносимость

Чем лучше переносимость — тем больше пользоватлеей.

* Платформы: Linux, Windows, MacOS, Android* Стандарты: C++14 C++11 C++98

Page 6: Библиотека Boost с нуля на примере Boost.DLL

C++14 Hana

Page 7: Библиотека Boost с нуля на примере Boost.DLL

C++14 Hana

Page 8: Библиотека Boost с нуля на примере Boost.DLL

Лицензия

Цель вашей разработки:

* образовательная: LGPL Apache BSD MIT Boost* для заработка: [A]GPL+Commercial* для зароботка в России: Commercial

Если вы клонировали чужой проект — вы не можете выбирать

Page 9: Библиотека Boost с нуля на примере Boost.DLL

Тестирование

Тесты - это важно!

- запускайте их часто- покрывайте весь функционал разработки- используйте статические анализаторы

Page 10: Библиотека Boost с нуля на примере Boost.DLL

Тестирование в Boost

Page 11: Библиотека Boost с нуля на примере Boost.DLL

Тестирование в Boost

Page 12: Библиотека Boost с нуля на примере Boost.DLL

Тестирование на Github

- TravisCI- Coveralls- Coverity

Page 13: Библиотека Boost с нуля на примере Boost.DLL

TravisCI

Page 14: Библиотека Boost с нуля на примере Boost.DLL

TravisCI

Page 15: Библиотека Boost с нуля на примере Boost.DLL

TravisCI

Page 16: Библиотека Boost с нуля на примере Boost.DLL

Coveralls

Page 17: Библиотека Boost с нуля на примере Boost.DLL

Coveralls

Page 18: Библиотека Boost с нуля на примере Boost.DLL

Coveralls

Page 19: Библиотека Boost с нуля на примере Boost.DLL

Coverity

Page 20: Библиотека Boost с нуля на примере Boost.DLL

Документация* ветка `gh-pages`* пишем в неё HTML* PROFIT:

Page 21: Библиотека Boost с нуля на примере Boost.DLL

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

* Быстрый старт

* Tutorial

* Справочная документация

* Как собирать

* Обоснование решений

Page 22: Библиотека Boost с нуля на примере Boost.DLL

Проверяем заинтересованность

* комментарии на API* просьбы по улучшению документации* отличные идеи и полезные ссылки

Вы не обязаны реализовывать все идеи!

Page 23: Библиотека Boost с нуля на примере Boost.DLL

Принятие в Boost

* Требования:http://www.boost.org/development/requirements.html

* Boost Library Incubatorhttp://blincubator.com/

* Ревью менеджер/Review manager

Page 24: Библиотека Boost с нуля на примере Boost.DLL

The Review

Page 25: Библиотека Boost с нуля на примере Boost.DLL

После принятия

Page 26: Библиотека Boost с нуля на примере Boost.DLL

Конец

Для рекламы || заработка http://top-me.org/