A Big box is a generic word to say a "project".
— T-h2o
1. File hierachy
1.1. The program
- inc
-
Include, for headers files
- src
-
Source, for source code files
- obj
-
Objet, for compiled source code
1.2. The documentation
- docs
-
Documentation folder
1.3. The tester
- test
-
Contains all sources for testing the program
2. Tools
2.1. Version control
- git
-
no need to say more
2.2. A source code formater
- clang-format
-
Clang format is a tool from
llvm
for formatting source files
2.3. HTML generator
Convert AsciiDoc to HTML5
— Asciidoctor
The tool is available into this docker image
-
pull the image
docker pull asciidoctor/docker-asciidoctor
-
run the image with interactive mode
docker run -it -v ${PWD}:/documents/ asciidoctor/docker-asciidoctor
3. Makefile rules
- all
-
Compile the program
- db
-
Compile the program and launch a debugger on the program
- format
-
Run clang-format in each source files
- docs
-
Generate from AsciiDoc into html
4. Markup language
- AsciiDoc
-
It is clear as markdown and has more feature than markdown
5. Workflow
An article on a git workflow git-workflow