- 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节
您可能关注的文档
- 01_java基础加强培训.pptx
- 1_阿里Java客户面试问题汇总.docx
- √ docker简单入门-计算机.pdf
- 9-大数据宣传折页2018.03.05(阅读版).pdf
- 10.面向对象程序设计-多态、接口.ppt
- 23种JAVA设计模式和15种J2EE设计模式.pdf
- 50道JAVA基础编程练习题全面解答.pdf
- 50道编程题(有精力的同学看看).doc
- 51个问题助你搞定面试官.pdf
- 7JSP学习笔记-计算机.pdf
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
最近下载
- 2020学年江苏省徐州市中考真题政治.docx VIP
- 血液透析高钾血症的护理查房.pptx VIP
- 顶空进样器操作维修手册惠普课件.pdf VIP
- 小学二年级数学题《图形的剪拼问题大全及答案》.doc VIP
- 2026年度烟台工程职业技术学院单招《数学》试题附参考答案详解(考试直接用).docx VIP
- 数学六年级上册100道口算题大全(全册各类齐全18份).doc VIP
- 干货 _ 高中历史全套思维导图100张.pdf
- 2026年烟台工程职业技术学院单招《数学》试题带答案详解(预热题).docx VIP
- 小学三年级数学题《图形的剪拼问题大全及答案》.doc VIP
- 麦可思2025年中国大学生就业报告_完全详细版.docx VIP
原创力文档

文档评论(0)