2.0 KiB
Style Guide
The style guide can be summed up as 'clang-format with the Google style set'. In addition, the Google Style Guide is followed and cpplint is the source of truth.
Base rules:
- 80 column line length max
- LF (Unix-style) line endings
- 2-space soft tabs, no TABs!
- Google Style Guide for naming/casing/etc
Code that really breaks from the formatting rules will not be accepted, as then no one else can use clang-format on the code without also touching all your lines.
Tools
clang-format
clang-format with the Google style is used to format all files. I recommend installing/wiring it up to your editor of choice so that you don't even have to think about tabs and wrapping and such.
Command Line
To use the xb format
auto-formatter, you need to have a clang-format
on your
PATH. If you're on Windows you can do this by installing an LLVM binary package
from the LLVM downloads page. If you
install it to the default location the xb format
command will find it
automatically even if you don't choose to put all of LLVM onto your PATH.
Visual Studio
Grab the official experimental Visual Studio plugin. To switch to the Google style go Tools -> Options -> LLVM/Clang -> ClangFormat and set Style to Google. Then use ctrl-r/ctrl-f to trigger the formatting. Unfortunately it only does the cursor by default, so you'll have to select the whole doc and invoke it to get it all done.
If you have a better option, let me know!
Xcode
Install Alcatraz to get the ClangFormat package. Set it to use the Google style and format on save. Never think about tabs or linefeeds or whatever again.
cpplint
TODO(benvanik): write a cool script to do this/editor plugins. In the future, the linter will run as a git commit hook and on travis.