Google Java 编程风格指南.pdfVIP

  • 16
  • 0
  • 约1.41万字
  • 约 8页
  • 2019-04-18 发布于广东
  • 举报
Google Java 编程风格指南 前前言言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则 我们才认为它符合Google的Java编程风 格。 与其它的编程风格指南一样 这里所讨论的不仅仅是编码格式美不美观的问题 同时也讨论一些约定及编码标准。然而 这份文档主要侧 重于我们所普遍遵循的规则 对于那些不是明确强制要求的 我们尽量避免提供意见。 1.1 术术语语说说明明 在本文档中 除非另有说明: 1. 术语class可表示一个普通类 枚举类 接口或是annotation类型(@interface) 2. 术语comment 只用来指代实现的注释(implementation comments) 我们不使用“documentation comments”一词 而是用Javadoc 。 其他的术语说明会偶尔在后面的文档出现。 1.2 指指南南说说明明 本文档中的示例代码并不作为规范。也就是说 虽然示例代码是遵循Google编程风格 但并不意味着这是展现这些代码的唯一方式。 示例 中的格式选择不应该被强制定为规则。 源源文文件件基基础础 2.1 文文件件名名 源文件以其最顶层的类名来命名 大小写敏感 文件扩展名为.java。 2.2 文文件件编编码码::UTF-8 源文件编码格式为UTF-8。 2.3 特特殊殊字字符符 2.3.1 空空白白字字符符 除了行结束符序列 A CII水平空格字符(0×20 即空格)是源文件中唯一允许出现的空白字符 这意味着: 1. 所有其它字符串中的空白字符都要进行转义。 2. 制表符不用于缩进。 2.3.2 特特殊殊转转义义序序列列 对于具有特殊转义序列的任何字符(\b, \t, \n, \f, \r, \“, \ ‘及$$ 我们使用它的转义序列 而不是相应的八进制( 比如12)或Unicode( 比如\u000a) 转义。 2.3.3 非非ASCII字字符符 对于剩余的非A CII字符 是使用实际的Unicode字符( 比如∞) 还是使用等价的Unicode转义符( 比如\u221e) 取决于哪个能让代码更易于阅 读和理解。 Tip : 在使用Unicode转义符或是一些实际的Unicode字符时 建议做些注释给出解释 这有助于别人阅读和理解。 例如: String unitAbbrev = μs; | 赞 即使没有注释也非常清晰 String unitAbbrev = \u03bcs; // μs | 允许 但没有理由要这样做 String unitAbbrev = \u03bcs; // Gree letter mu, s | 允许 但这样做显得笨拙还容易出错 String unitAbbrev = \u03bcs; | 很糟 读者根本看不出这是什么 return \ufeff + content; // byte order mar | Good 对于非打印字符 使用转义 并在必要时写上注释 Tip : 永远不要由于害怕某些程序可能无法正确处理非A CII字符而让你的代码可读性变差。当程序无法正确处理非A CII字符时 它自然无法正确 运行 你就会去fix这些问题的了。(言下之意就是大胆去用非A CII字符 如果真的有需要的话) 源源文文件件结结构构 一个源文件包含(按顺序地) : 1. 许可证或版权信息(如有需要) 2. package语句 3. import语句 4. 一个顶级类(只只有有一一个个) 以上每个部分之间用一个空行隔开。 3.1 许许可可证证或或版版权权信信息息 如果一个文件包含许可证或版权信息 那么它应当被放在文件最前面。 3.2 package语语句句 package语句不换行 列限制(4.4节)并不适用于package语句。(即package语句写在一行里) 3.3 import语语句句 3.3.1 import不不要要使使用用通通配配符符 即 不要出现类似这样的import语句:import java.util.*; 3.3.2 不不要要换换行行 import语句不换行 列限制(4.4节

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档