Download - Библиотека Boost с нуля на примере Boost.DLL
![Page 1: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/1.jpg)
Качественная библиотека с нуля
Инструменты, технологии и принятие в Boost
Antony PolukhinПолухин Антон
Boost libraries maintainer (LexicalCast, Any, TypeIndex, Conversion)+ Boost.CircularBuffer, Boost.Variant
![Page 2: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/2.jpg)
СодержаниеОбщая часть: * Идея * Переносимость * Лицензия * Инструменты тестирования
* Документация* Проверяем заинтересованность
Boost специфичная часть:* Требования* The Review
* После принятия
![Page 3: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/3.jpg)
Идея
* найти проблему* проверить существующие решения* узнать как решать
![Page 4: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/4.jpg)
Идея
![Page 5: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/5.jpg)
Переносимость
Чем лучше переносимость — тем больше пользоватлеей.
* Платформы: Linux, Windows, MacOS, Android* Стандарты: C++14 C++11 C++98
![Page 6: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/6.jpg)
C++14 Hana
![Page 7: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/7.jpg)
C++14 Hana
![Page 8: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/8.jpg)
Лицензия
Цель вашей разработки:
* образовательная: LGPL Apache BSD MIT Boost* для заработка: [A]GPL+Commercial* для зароботка в России: Commercial
Если вы клонировали чужой проект — вы не можете выбирать
![Page 9: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/9.jpg)
Тестирование
Тесты - это важно!
- запускайте их часто- покрывайте весь функционал разработки- используйте статические анализаторы
![Page 10: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/10.jpg)
Тестирование в Boost
![Page 11: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/11.jpg)
Тестирование в Boost
![Page 12: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/12.jpg)
Тестирование на Github
- TravisCI- Coveralls- Coverity
![Page 13: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/13.jpg)
TravisCI
![Page 14: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/14.jpg)
TravisCI
![Page 15: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/15.jpg)
TravisCI
![Page 16: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/16.jpg)
Coveralls
![Page 17: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/17.jpg)
Coveralls
![Page 18: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/18.jpg)
Coveralls
![Page 19: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/19.jpg)
Coverity
![Page 20: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/20.jpg)
Документация* ветка `gh-pages`* пишем в неё HTML* PROFIT:
![Page 21: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/21.jpg)
Документация* Мотивация
* Быстрый старт
* Tutorial
* Справочная документация
* Как собирать
* Обоснование решений
![Page 22: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/22.jpg)
Проверяем заинтересованность
* комментарии на API* просьбы по улучшению документации* отличные идеи и полезные ссылки
Вы не обязаны реализовывать все идеи!
![Page 23: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/23.jpg)
Принятие в Boost
* Требования:http://www.boost.org/development/requirements.html
* Boost Library Incubatorhttp://blincubator.com/
* Ревью менеджер/Review manager
![Page 24: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/24.jpg)
The Review
![Page 25: Библиотека Boost с нуля на примере Boost.DLL](https://reader036.vdocuments.mx/reader036/viewer/2022082309/55c12d63bb61eb893d8b45f6/html5/thumbnails/25.jpg)
После принятия