概述
Google诸类变成语言代码风格指南:http://google.github.io/styleguide/
Google Java代码风格指南:https://google.github.io/styleguide/javaguide.html
Table of Contents
1 Introduction 1.1 Terminology notes 1.2 Guide notes 2 Source file basics 2.1 File name 2.2 File encoding: UTF-8 2.3 Special characters 3 Source file structure 3.1 License or copyright information, if present 3.2 Package statement 3.3 Import statements 3.4 Class declaration 4 Formatting 4.1 Braces 4.2 Block indentation: +2 spaces 4.3 One statement per line 4.4 Column limit: 100 4.5 Line-wrapping 4.6 Whitespace 4.7 Grouping parentheses: recommended 4.8 Specific constructs 5 Naming 5.1 Rules common to all identifiers 5.2 Rules by identifier type 5.3 Camel case: defined 6 Programming Practices 6.1 @Override: always used 6.2 Caught exceptions: not ignored 6.3 Static members: qualified using class 6.4 Finalizers: not used 7 Javadoc 7.1 Formatting 7.2 The summary fragment 7.3 Where Javadoc is used |
1 Introduction
This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein.
Like other programming style guides, the issues covered span not only aesthetic issues of formatting, but other types of conventions or coding standards as well. However, this document focuses primarily on the hard-and-fast rules that we follow universally, and avoids giving advice that isn't clearly enforceable (whether by human or tool).
1.1 Terminology notes
In this document, unless otherwise clarified:
- The term class is used inclusively to mean an "ordinary" class, enum class, interface or annotation type (
@interface
). - The term member (of a class) is used inclusively to mean a nested class, field, method, or constructor; that is, all top-level contents of a class except initializers and comments.
- The term comment always refers to implementation comments. We do not use the phrase "documentation comments", instead using the common term "Javadoc."
Other "terminology notes" will appear occasionally throughout the document.
1.2 Guide notes
Example code in this document is non-normative. That is, while the examples are in Google Style, they may not illustrate the only stylish way to represent the code. Optional formatting choices made in examples should not be enforced as rules.
2 Source file basics
2.1 File name
The source file name consists of the case-sensitive name of the top-level class it contains (of which there is exactly one), plus the .java
extension.
2.2 File encoding: UTF-8
Source files are encoded in UTF-8.
2.3 Special characters
2.3.1 Whitespace characters
Aside from the line terminator sequence, the ASCII horizontal space character (0x20) is the only whitespace character that appears anywhere in a source file. This implies that:
- All other whitespace characters in string and character literals are escaped.
- Tab characters are not used for indentation.
2.3.2 Special escape sequences
For any character that has a special escape sequence (b
, t
, n
, f
, r
, "
, '
and \
), that sequence is used rather than the corresponding octal (e.g.