DanE (Dan Encoder) is a C++ training exercise with the purpose of writing a generic text encoder/decoder, with a specific implemnentation for Huffman coding.
The goal of this exercise is to learn about:
- Defining the requirements for a software system
- Designing using UML methodology and tools
- Writing optimal
C++including correct use ofC++11,C++14andC++17features as well as the standard library - Designing and writing tests using the
gtestframework - Using
sconsas a build infrastructure - Using continuous integration
- Code coverage, static checks, code documentation (
doxygen), etc.
The docs/ folder contains the requirements for the project in a markdown format as well as a design written using plantuml which is a language that allows textual representation of class diagrams and more (I chose it since the textual format allows to manage changes to the design using git).