5.2.8 类型变量名类型变量可用以下两种风格之一进行命名:单个的大写字母,后面可以跟一个数字(如:E, T, X, T2)。以类命名方式(5.2.2节),后面加个大写的T(如:RequestT, FooBarT)。
5.2.7 局部变量名局部变量名以lowerCamelCase风格编写,比起其它类型的名称,局部变量名可以有更为宽松的缩写。虽然缩写更宽松,但还是要避免用单字符进行命名,除了临时变量和循环变量。即使局部变量是final和不可改变的,也不应该把它示为常量,自然也不能用常量的规则去命名它。
5.2.6 参数名参数名以lowerCamelCase风格编写。参数应该避免用单个字符命名。
5.2.5 非常量字段名非常量字段名以lowerCamelCase风格编写。这些名字通常是名词或名词短语。
5.2.4 常量名常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。那,到底什么算是一个常量?每个常量都是一个静态final字段,但不是所有静态final字段都是常量。在决定一个字段是否是一个常量时, 考虑它是否真的感觉像是一个常量。例如,如果任何一个该实例的观测状态是可变的,则它几乎肯定不会是一个常量。
5.2.3 方法名方法名都以lowerCamelCase风格编写。方法名通常是动词或动词短语。下划线可能出现在JUnit测试方法名称中用以分隔名称的逻辑组件。一个典型的模式是:test<MethodUnderTest>_<state>,例如testPop_emptyStack。 并不存在唯一正确的方式来命名测试方法。
5.2.2 类名类名都以UpperCamelCase风格编写。类名通常是名词或名词短语,接口名称有时可能是形容词或形容词短语。现在还没有特定的规则或行之有效的约定来命名注解类型。测试类的命名以它要测试的类的名称开始,以Test结束。例如,HashTest或HashIntegrationTest。
5.2.1 包名包名全部小写,连续的单词只是简单地连接起来,不使用下划线。
5.2 标识符类型的规则
5.1 对所有标识符都通用的规则标识符只能使用ASCII字母和数字,因此每个有效的标识符名称都能匹配正则表达式\w+。在Google其它编程语言风格中使用的特殊前缀或后缀,如name_, mName, s_name和kName,在Java编程风格中都不再使用。
4.8.7 Modifiers类和成员的modifiers如果存在,则按Java语言规范中推荐的顺序出现。public protected private abstract static final transient volatile synchronized native strictfp
4.8.6 注释4.8.6.1 块注释风格块注释与其周围的代码在同一缩进级别。它们可以是/* ... */风格,也可以是// ...风格。对于多行的/* ... */注释,后续行必须从*开始, 并且与前一行的*对齐。以下示例注释都是OK的。/* * This is // And so /* Or you can * okay. // is this. * even do this.
4.8.5 注解(Annotations)注解紧跟在文档块后面,应用于类、方法和构造函数,一个注解独占一行。这些换行不属于自动换行(第4.5节,自动换行),因此缩进级别不变。例如:@Override@Nullablepublic String getNameIfPresent() { ... }例外:单个的注解可以和签名的第一行出现在同一行。例如:@Override public int hashCode() { ...
4.8.4 switch语句术语说明:switch块的大括号内是一个或多个语句组。每个语句组包含一个或多个switch标签(case FOO:或default:),后面跟着一条或多条语句。4.8.4.1 缩进与其它块状结构一致,switch块中的内容缩进为2个空格。每个switch标签后新起一行,再缩进2个空格,写下一条或多条语句。4.8.4.
4.8.3 数组4.8.3.1 数组初始化:可写成块状结构数组初始化可以写成块状结构,比如,下面的写法都是OK的:new int[] { 0, 1, 2, 3}new int[] { 0, 1, 2, 3}new int[] { 0, 1, 2, 3}new int[] {0, 1, 2, 3}4.8.3.2 非C风格的数组声明中括号是类型的一部分:String[] args, 而非String args[]。
4.8.2 变量声明4.8.2.1 每次只声明一个变量不要使用组合声明,比如int a, b;。4.8.2.2 需要时才声明,并尽快进行初始化不要在一个代码块的开头把局部变量一次性都声明了(这是c语言的做法),而是在第一次需要使用它时才声明。 局部变量在声明时最好就进行初始化,或者声明后尽快进行初始化。
4.8.1 枚举类枚举常量间用逗号隔开,换行可选。没有方法和文档的枚举类可写成数组初始化的格式:private enum Suit { CLUBS, HEARTS, SPADES, DIAMONDS }由于枚举类也是一个类,因此所有适用于其它类的格式规则也适用于枚举类。
4.8 具体结构
4.7 用小括号来限定组:推荐除非作者和reviewer都认为去掉小括号也不会使代码被误解,或是去掉小括号能让代码更易于阅读,否则我们不应该去掉小括号。 我们没有理由假设读者能记住整个Java运算符优先级表。
关注时代Java