Coding Style
This document describes the coding style used by this project.
All of the formatters can be invoked by the pw utility script in the root of
the project:
$ ./pw format
Rust
This project follows the standard Rust Style
Guide for Rust code. Formatting is
done with rustfmt using the
rustfmt.toml
from the upstream Pigweed repository.
Python
This project follows PEP8 for Python code.
Formatting is done with the black formatter.
Starlark (bazel build system)
This project follows the standard bzl style
guide for Starlark code.
Formatting is done with the buildifier tool.
C / C++
This project follows the [Google C++ Style Guide] for C and C++ code, with the following exceptions:
- Indent is 4 spaces instead of 2.
- Function names should use
snake_caseinstead ofPascalCase. - In pointer declarations, the asterisk is attached to the variable name (
int *foo) instead of the type name (int* foo).
Formatting is done with clang-format.