Google recently released a complete Java coding specification. The content of the specification includes some practical and rigid provisions. Google adheres to this specification internally. The specification covers not only code formats, but also other types of conventions and coding standards.
This specification is mainly divided into 6 parts: basic specification of source files, source file structure, code format, naming, programming practices and Javadoc. The basic specification of the source file describes the specification requirements such as file name, file encoding, spaces and special characters. The source file structure describes licensing information, package and import declarations, class member order and other normative requirements. Code format is used to describe formatting requirements such as braces, indentation, newlines, spaces, brackets, enumerations, arrays, switch statements, annotations, annotations, and modifiers in the source code. Naming specifies naming conventions and camel case definitions for identifiers (packages, classes, methods, constants, properties, local variables, and class variables). Programming practices illustrate the usage of @Override, exceptions, static members, and finalizers. Javadoc describes where Javadoc is required and its format requirements.
Here are some excerpts from the specification:
There can be no wildcard characters in import.
Overloaded methods should be placed together and appear consecutively.
Even if there is no content in the code block, or there is only one line of code, curly braces must be used.
2 space indent.
Column width is 80 or 100 characters.
Array variable declarations similar to C language cannot be used.
The switch statement must contain the default statement.
The order of modifiers should be in the order recommended by the Java Language Specification.
Constant naming should use the CONSTANT_CASE format (Annotation: all letters are capitalized, and words are separated by underscores). Note that all constants must be static final members, but not all static final members are constants.
For more information, please read Google Java Style. Oracle also provides official Java language coding specifications. Google also provides coding style guides for other languages, including C++, Objective-C, Python, Shell, HTML/CSS, JavaScript, Lisp, etc.
Original English link: Google's Java Coding Standards