google公司的java编程风格指南

介绍

本文档是Google针对java平台的编码标准的完整定义。 Java源文件被描述为Google样式,当且仅当它遵守这里的规则时。

像其他编程风格指南一样,所涉及的问题不仅包括格式化的审美问题,而且还涉及其他类型的约定或编码标准。然而,本文件主要侧重于我们普遍遵循的快速规则,避免提供不能明确强制执行的建议(无论是人力还是工具)。

术语注释

在本文件中,除非另有说明:

  • 术语类被用于包括“普通”类,枚举类,接口或注释类型(@interface)。
  • 术语成员(一个类)用于包含嵌套类,字段,方法或构造函数; 也就是除了初始化和注释之外,所有类的顶级内容。
  • 术语评论总是指实施意见。 我们不使用短语“文档评论”,而是使用通用术语“Javadoc”。

其他“术语注释”将在本文档中偶尔出现。

源文件说明

  • 文件名

源文件名由它包含的顶级类(其中只有一个)的区分大小写的名称以及.java扩展名组成。

  • 文件编码

使用UTF-8编码

特殊字符

  • 空格字符

除了行终止符序列,ASCII水平空格字符(0x20)是唯一出现在源文件中任何地方的空格字符。 这意味着:

  1. 字符串和字符文字中的所有其他空白字符都将被转义
  2. 不用Tal来缩进
  • 其它特殊字符

对于具有特殊转义序列(\ b,\ t,\ n,\ f,\ r,\“,\”和\)的任何字符,使用该序列而不是相应的八进制(例如\ 012)或 Unicode(例如\ u000a)转义。

  • 非ASCII字符

对于其余的非ASCII字符,使用实际的Unicode字符(例如∞)或等效的Unicode转义(例如\ u221e)。 选择只取决于使代码更容易阅读和理解,尽管Unicode转义外部字符串文字和注释是非常不鼓励的。

源文件结构

源文件按顺序组成:

  1. 许可或版权信息(如果存在)
  2. 包语句
  3. 导入语句
  4. 完全的一个顶级类

使用一个完全的空白行分隔存在的每个部分。

  • 添加许可或版权信息(如果存在)

如果许可或版权信息属于文件,则标明。

  • 包语句

  • import语句

    不使用通配符导入

  • 导入语句排序

    1. 所有静态导入单个块。
    2. 所有非静态导入的单个块。

如果存在静态和非静态导入,则单个空行将两个块分开。 导入语句之间没有其他空行。

在每个块内,导入的名称以ASCII排序顺序显示。 (注意:这不同于导入语句是ASCII排序顺序,因为’。’在’;’之前排序。)