Top Banner
High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин Антон Boost libraries maintainer (LexicalCast, Any, TypeIndex, Conversion) + Boost.CircularBuffer, Boost.Variant
26

High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Mar 23, 2020

Download

Documents

dariahiddleston
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: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

High quality library from scratch

Tools, technologies and acceptance to Boost

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

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

Page 2: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Table of contentsGeneric part: * The Idea * Portability * License * Testing tools

* Documentation* Checking interest

Boost only:* Requisitions* Review

* After Acceptance

Page 3: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

The Idea

* find a problem* search for existing solutions* get the Idea of how to solve the problem

Page 4: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

The Idea

Page 5: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Portability

Better portability means more users and more attention to the library.

* Platforms: Linux, Windows, MacOS, Android* Standards: C++14 C++11 C++98

Page 6: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

C++14 Library (Hana)

Page 7: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

C++14 Library (Hana)

Page 8: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

License

Choose according to library purpose:

* educational: LGPL Apache BSD MIT Boost* making money: [A]GPL+Commercial* making money in Russia: Commercial

You may have no choice if you forked the project

Page 9: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Testing

Testing is essential for high quality library!

- tests must be run often- test must cover all the library functionality- static analysis tools are welcomed

Page 10: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Testing in Boost

Page 11: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Testing in Boost

Page 12: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Testing at Github

- TravisCI- Coveralls- Coverity

Page 13: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

TravisCI

Page 14: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

TravisCI

Page 15: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

TravisCI

Page 16: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Coveralls

Page 17: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Coveralls

Page 18: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Coveralls

Page 19: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Coverity

Page 20: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Documentation* make `gh-pages` branch* push HTML to it* PROFIT:

Page 21: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Documentation* Motivation

* Quick Start

* Tutorial covering basic use cases

* Reference documentation

* How to compile and link

* Rationale for design decisions

Page 22: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Checking interest* requests for new features* comments on API* requests for documentation clarification* good ideas and useful links

You are not ought to implement all requests!

Page 23: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

Acceptance to Boost

* Requirements:http://www.boost.org/development/requirements.html

* Boost Library Incubatorhttp://blincubator.com/

* Review manager

Page 24: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

The Review

Page 25: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

After acceptance

Page 26: High quality library from scratch - GitHub Pages+ Russia 2015... · 2020-03-07 · High quality library from scratch Tools, technologies and acceptance to Boost Antony Polukhin Полухин

The end

Make your ads || business at http://top-me.org/