Создал(а) 'C/C++ Coding Conventions'
41
C%2FC%2B%2B-Coding-Conventions.md
Normal file
41
C%2FC%2B%2B-Coding-Conventions.md
Normal file
@@ -0,0 +1,41 @@
|
||||
### Вот некоторые соглашения которые сейчас используются и должны использоваться дальше в нашем коде:
|
||||
**1. We use include guards instead of #pragma once**
|
||||
**2. 3rd-party headers must be included using <>, and our files - using ""**
|
||||
**3. Author information, like "Created by John Doe on xx.xx.xxxx", which is inserted automatically by many IDEs when creating a new file, is not allowed and must be removed**
|
||||
|
||||
**4. General naming conventions examples:**
|
||||
|
||||
|
||||
| Entity | Example |
|
||||
| -------- | -------- |
|
||||
| Function | doSomething |
|
||||
| Local variable | my_variable |
|
||||
| Public data member | my_member |
|
||||
| Class | MyClass |
|
||||
| Template parameter | Type,T,C,T1,T2,... |
|
||||
| Constant (including static const members of a class) | MyConstant |
|
||||
| Member of enum | MyEnumMember |
|
||||
| Namespace | MyNamespace |
|
||||
|
||||
| Property accessors | example |
|
||||
| -------- | -------- |
|
||||
| Setter | setFoo |
|
||||
| Getter | foo |
|
||||
| Boolean getters | canFoo, hasFoo, isFoo, ... |
|
||||
|
||||
**5. For asynchronous functions use suffix "Async"**, e.g: `void loadAsync()`
|
||||
**6. Avoid using `[&]` or `[=]` as lambda captions. It often causes problems with dangling references.**
|
||||
**7. Put bodies of selection and iteration statements into compound blocks, even if the body is a one-liner** E.g.:
|
||||
```
|
||||
// Bad
|
||||
if (x)
|
||||
doSomething();
|
||||
|
||||
// Good
|
||||
if (x)
|
||||
{
|
||||
doSomething();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user