seafile-client/coding-style.md
2013-11-06 14:30:04 +08:00

43 lines
1 KiB
Markdown

## C++ Coding Style
Mainly borrowed from [google c++ style coding style](http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml)
### Naming Conventions
#### Member Vairables
Lower case words seprated by underscores, and ends with an underscore, e.g. `repos_list_`, `context_menu_`
#### Variables in Qt Ui Files
Camel case starts with a "m", e.g. `mUserNameText`, `mServerAddr`
#### Functions
Camel case, e.g. `showRepos`
#### Setter and Getter
- setter: `setRepoName()`
- getter: `repoName()`
#### Constants
Camel case starts with "k", e.g. :
const int kRepoRefreshInterval = 1000;
const char *kDefaultName = "seafile";
Use constants variables instead of macros to define constants.
### Invoking functions
- constant function parameter must be passed by object reference
- No `this->` when invoking member functions.
### Others
- no source file scope static variable/function, use anonymous namespace
- use forward declaration when possible, instead of including unnecessary header files
- Never use exceptions