1.3 KiB
1.3 KiB
Coding standards
Literal structure
- 4 spaces are used for tabulation. No tabs are allowed.
- Unix line endings are used.
- Curlies are always explicitly written, even for single statements.
- No trailing whitespaces at the end of lines.
- Insert closing newline at the end of files.
Naming identifiers
Functions are written with UpperCamelCase and verb is followed by noun.
DoThis();
Whenever a file exposes a group of functions as a consistent API the functions should be prefixed with the group name, followed by _, followed by the individual function names.
void LedDriver_WriteBuffer(uint8_t i2cAddress, uint8_t buffer[], uint8_t size);
void LedDriver_WriteRegister(uint8_t i2cAddress, uint8_t reg, uint8_t val);
void LedDriver_SetAllLedsTo(uint8_t val);
Variables and function parameters are written with lowerCamelCase.
uint8_t myVariable;
Type names are written with underscores, and end with _t. Type members are written with lowerCamelCase.
typedef struct {
uint8_t acceleration;
uint8_t maxSpeed;
uint8_t roles[LAYER_COUNT];
} pointer_t;
Control structures
if (something) {
...
} else {
...
}
for (uint8_t i; i<j; i++) {
...
}
while (condition) {
...
}
Function declaration
void do_this()
{
...
}
Function calls
myFunction();