Skip to content

Latest commit

 

History

History
114 lines (71 loc) · 3.69 KB

README.md

File metadata and controls

114 lines (71 loc) · 3.69 KB

Project Status: Active license CI Percentage of issues still open

overview

This project aims to guide the way beginners make their cpp projects.

basic workflow

workflow

run this project

git clone https://github.com/jiaxiyang/cpp_project_guideline.git
cd cpp_project_guideline
pixi run all

project layout

  1. ✅ The main difference between the two methods is whether include and test are in the same folder as the module src.

build system generator

  1. cmake
  2. ✅ using compile options -Wall -Wextra -Werror

package management

  1. pixi
  2. ✅ make log more readble cfonts

commit guidelines

  1. Angular gudelines

MR guidelines

  1. first-contributions

code review

  1. awesome-code-review

SCA(Static Code Analysis)

  1. ✅ code format check run-clang-format
  2. cpplint
  3. clang-tidy

DCA(Dynamic Code Analysis)

  1. asan
    • memcheck
    • thread
  2. valgrind

valgrind result

unit test

  1. gtest
  2. show results on github ci

unit test result

coverage test

  1. gcovr

    coverage test result

  2. 🔲 upload result to coveralls or codecov

profiling

  1. perf
  2. flamegraph
  3. gprof2dot

doc

  1. doxygen

docxygen

changelog

  1. changlog
  2. tensorrt release notes
  3. rerun
  4. mmsegmentation
  5. glog

CI/CD

  1. integrate the parts above using github actions
  2. 🔲 release artifacts to github

reference

  1. together c & c++ discord
  2. better c++ discord
  3. golang-standards/project-layout

TODO

  1. ✅ Draw flow chart excalidraw
  2. 🔲 Post diagram