2 title: Coding Convention
9 You may indent differently from what clang-format does. You may also break the 80-column rule with header files.
11 Except the two, you are required to follow the general coding styles mandated by clang-format.
13 ## C/C++ files (.cpp, .c)
15 Use .h for headers and .cpp / .c for source.
16 You have to use clang-format with the given [.clang-format](https://github.com/nnstreamer/nntrainer/blob/main/.clang-format) file
28 ## Directory structure of nntrainer.git
30 - **api**: API definitions and implementations
31 - **capi**: C-APIs (Tizen and others)
32 - **debian**: Debian/Ubuntu packaging files
33 - **docs**: Documentations
34 - **nntrainer**: All core NNTrainer codes are located here
35 - **nnstreamer**: NNStreamer sub-filter codes for NNTrainer
36 - **jni**: Android/Java build scripts.
37 - **Applications**: Examples for NNtrainer
38 - **packaging**: Tizen RPM build scripts. OpenSUSE/Redhat Linux may reuse this.
39 - **test**: Unit test cases. We have GTEST test cases. There are subdirectories, which are groups of unit test cases.
40 - **tools**: Various developmental tools and scripts of NNTrainer.
42 ## Related git repositories
44 - [NNStreamer](https://github.com/nnstreamer/nnstreamer)
45 - [TAOS-CI, CI Service for On-Device AI Systems](https://github.com/nnstreamer/TAOS-CI)