|
| 1 | +Google Style Guides |
| 2 | +=================== |
| 3 | + |
| 4 | +Every major open-source project has its own style guide: a set of conventions |
| 5 | +(sometimes arbitrary) about how to write code for that project. It is much |
| 6 | +easier to understand a large codebase when all the code in it is in a |
| 7 | +consistent style. |
| 8 | + |
| 9 | +“Style” covers a lot of ground, from “use camelCase for variable names” to |
| 10 | +“never use global variables” to “never use exceptions.” This project |
| 11 | +([google/styleguide](https://github.com/google/styleguide)) links to the |
| 12 | +style guidelines we use for Google code. If you are modifying a project that |
| 13 | +originated at Google, you may be pointed to this page to see the style guides |
| 14 | +that apply to that project. |
| 15 | + |
| 16 | +This project holds the [C++ Style Guide][cpp], [Objective-C Style Guide][objc], |
| 17 | +[Java Style Guide][java], [Python Style Guide][py], [R Style Guide][r], |
| 18 | +[Shell Style Guide][sh], [HTML/CSS Style Guide][htmlcss], |
| 19 | +[JavaScript Style Guide][js], [AngularJS Style Guide][angular], |
| 20 | +[Common Lisp Style Guide][cl], and [Vimscript Style Guide][vim]. This project |
| 21 | +also contains [cpplint][cpplint], a tool to assist with style guide compliance, |
| 22 | +and [google-c-style.el][emacs], an Emacs settings file for Google style. |
| 23 | + |
| 24 | +If your project requires that you create a new XML document format, the [XML |
| 25 | +Document Format Style Guide][xml] may be helpful. In addition to actual style |
| 26 | +rules, it also contains advice on designing your own vs. adapting an existing |
| 27 | +format, on XML instance document formatting, and on elements vs. attributes. |
| 28 | + |
| 29 | +The style guides in this project are licensed under the CC-By 3.0 License, |
| 30 | +which encourages you to share these documents. |
| 31 | +See [https://creativecommons.org/licenses/by/3.0/][ccl] for more details. |
| 32 | + |
| 33 | +The following Google style guides live outside of this project: |
| 34 | +[Go Code Review Comments][go] and [Effective Dart][dart]. |
| 35 | + |
| 36 | +<a rel="license" href="https://creativecommons.org/licenses/by/3.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/3.0/88x31.png" /></a> |
| 37 | + |
| 38 | +[cpp]: https://google.github.io/styleguide/cppguide.html |
| 39 | +[objc]: objcguide.md |
| 40 | +[java]: https://google.github.io/styleguide/javaguide.html |
| 41 | +[py]: https://google.github.io/styleguide/pyguide.html |
| 42 | +[r]: https://google.github.io/styleguide/Rguide.xml |
| 43 | +[sh]: https://google.github.io/styleguide/shell.xml |
| 44 | +[htmlcss]: https://google.github.io/styleguide/htmlcssguide.html |
| 45 | +[js]: https://google.github.io/styleguide/jsguide.html |
| 46 | +[angular]: https://google.github.io/styleguide/angularjs-google-style.html |
| 47 | +[cl]: https://google.github.io/styleguide/lispguide.xml |
| 48 | +[vim]: https://google.github.io/styleguide/vimscriptguide.xml |
| 49 | +[cpplint]: https://github.com/google/styleguide/tree/gh-pages/cpplint |
| 50 | +[emacs]: https://raw.githubusercontent.com/google/styleguide/gh-pages/google-c-style.el |
| 51 | +[xml]: https://google.github.io/styleguide/xmlstyle.html |
| 52 | +[go]: https://golang.org/wiki/CodeReviewComments |
| 53 | +[dart]: https://www.dartlang.org/guides/language/effective-dart |
| 54 | +[ccl]: https://creativecommons.org/licenses/by/3.0/ |
0 commit comments