CS-Notes/notes/笔记/文档-Google Java 编程风格指南.md.txt
2018-02-22 14:47:22 +08:00

116 lines
3.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[TOC]
# 地址
[Google Java编程风格指南](http://www.hawstein.com/posts/google-java-style.html)
# 命名约定
在 Google 其它编程语言风格中使用的特殊前缀或后缀,如 name_ , mName , s_name 和 kName ,在 Java 编程风格中都不再使用。
**1. 包名**
包名全部小写,连续的单词只是简单地连接起来,不使用下划线。
**2. 类名**
类名都以 UpperCamelCase 风格编写。
类名通常是名词或名词短语,接口名称有时可能是形容词或形容词短语。
测试类的命名以它要测试的类的名称开始,以 Test 结束。
**3. 方法名**
方法名都以 lowerCamelCase 风格编写。
方法名通常是动词或动词短语。
下划线可能出现在JUnit测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是 test<MethodUnderTest>\_<state> ,例如 testPop_emptyStack 。 并不存在唯一正确的方式来命名测试方法。
**4. 常量名**
常量名命名模式为 CONSTANT_CASE ,全部字母大写,用下划线分隔单词。
每个常量都是一个静态final字段但不是所有静态final字段都是常量。
**5. 非常量字段名**
非常量字段名以 lowerCamelCase 风格编写。
**6. 参数名**
参数名以 lowerCamelCase 风格编写。
**7. 局部变量名**
局部变量名以 lowerCamelCase 风格编写
**8. 类型变量名**
类型变量可用以下两种风格之一进行命名:
- 单个的大写字母,后面可以跟一个数字(如E, T, X, T2)。
- 以类命名方式,后面加个大写的 T (如RequestT, FooBarT)。
**9. 驼峰式命名法**
1. 把短语转换为纯 ASCII 码,并且移除任何单引号。例如:"Müllers algorithm" 将变成 "Muellers algorithm"。
2. 把这个结果切分成单词,在空格或其它标点符号(通常是连字符)处分割开。
3. 现在将所有字母都小写(包括缩写),然后将单词的第一个字母大写。
4. 最后将所有的单词连接起来得到一个标识符。
```html
Prose form Correct Incorrect
------------------------------------------------------------------
"XML HTTP request" XmlHttpRequest XMLHTTPRequest
"new customer ID" newCustomerId newCustomerID
"inner stopwatch" innerStopwatch innerStopWatch
"supports IPv6 on iOS?" supportsIpv6OnIos supportsIPv6OnIOS
"YouTube importer" YouTubeImporter
YoutubeImporter*
```
# 编程实践
- 覆盖的方法加上 @Override 注释。
- 异常不能忽视,否则需要在 catch 中注释说明。
```
try {
int i = Integer.parseInt(response);
return handleNumericResponse(i);
} catch (NumberFormatException ok) {
// it's not numeric; that's fine, just continue
}
return handleTextResponse(response);
```
- 使用类调用静态成员
```java
Foo.aStaticMethod();
```
- 禁止使用 finalize()
# Javadoc
基本格式如下:
```java
/**
* Multiple lines of Javadoc text are written here,
* wrapped normally...
*/
```
或者单行形式:
```
/** An especially short bit of Javadoc. */
```
标准的 Javadoc 标记按以下顺序出现:@param, @return, @throws, @deprecated前面这4种标记如果出现描述都不能为空。当描述无法在一行中容纳连续行需要至少再缩进4个空格。