diff options
-rw-r--r-- | Documentation/CodingStyle.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Documentation/CodingStyle.md b/Documentation/CodingStyle.md index fbfceac6e3..e09096ae7f 100644 --- a/Documentation/CodingStyle.md +++ b/Documentation/CodingStyle.md @@ -683,3 +683,72 @@ size_t mask_length = (size_t)((u8)-1) + 1; // This should be reinterpret_cast. return (u8 const*)string.characters_without_null_termination(); ``` + +### Omission of curly braces from statement blocks + +Curly braces may only be omitted from `if`/`else`/`for`/`while`/etc. statement blocks if the body is a single line. + +Additionally, if any body of a connected if/else statement requires curly braces according to this rule, all of them do. + +###### Right: +```cpp +if (condition) + foo(); +``` + +```cpp +if (condition) { + foo(); + bar(); +} +``` + +```cpp +if (condition) { + foo(); +} else if (condition) { + bar(); + baz(); +} else { + qux(); +} +``` + +```cpp +for (size_t i = i; condition; ++i) { + if (other_condition) + foo(); +} +``` + +##### OK: + +```cpp +if (condition) { + foo(); +} +``` + +###### Wrong: + +```cpp +if (condition) + // There is a comment here. + foo(); +``` + +```cpp +if (condition) + foo(); +else { + bar(); + baz(); +} else + qux(); +``` + +```cpp +for (size_t i = i; condition; ++i) + if (other_condition) + foo(); +``` |