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++14
andC++17
features as well as the standard library - Designing and writing tests using the
gtest
framework - Using
scons
as 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
).