This repo was created to improve my C++ experiance(and maybe a small part of cmake). If you want to get knownleadge from my task which will be done on this repo you should have small C++ programing knownledge. The task will be some more difficult than "start c++ programing course", but not rocket science.
Modern C++(11/14/17) - like smart pointers, STL, template, optional etc.
Google test - to write unit test
CppCheck - to static code analysis
Doxygen - to create documentation
CMake - to properly build sources and know how to write cmake files.
Twitter API - to write some bot or something like this.
Get knownledge of:
- Polymorphism and lifce cycle of object
- Using try-catch blocks
- Using smart pointers
- Using thing from C++17 like optional
- Using class and function templates
- Using google test to write unit tests.
- Using TDD
- Using static code check
- Using doxygen to genereta documentation
- Using external API to figure how to using authentication and using documentation.
All of the folders in this repo have his own README. In README you will see:
- Description of the project
- design assumptions
Projects:
- Hello-world - First app with one method print hello-world and tested by gtest
- Exercise-1 - App to present how a smart pointers work
- Exercise-2 - Implementation one-way linked-list using smart pointers
All test in projects is created before implements methods(TDD).
All of project have own github workflows to properly deployed test(gtest) and app(cmake)
.