Update CONTRIBUTING.md

This commit is contained in:
László Monda
2016-12-11 23:14:29 +01:00
committed by GitHub
parent 39a9d196f7
commit 39ad8c6735

View File

@@ -1,11 +1,45 @@
# Coding standards
## Literal structure
* 4 spaces are used for tabulation. No tabs are allowed.
* Unix line endings are used.
* Curlies are always explicitly written.
* 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 noun follows verb.
```
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;
```
## If
```
@@ -32,7 +66,7 @@ while (condition) {
}
```
## function
## function declaration
```
void do_this()