Java编程规范之命名规范和惯例
来源:互联网 发布:淘宝网店策划案步骤 编辑:程序博客网 时间:2024/05/17 23:30
9 命名规范(Naming Conventions)
命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码,例如,不论它是一个常量,包,还是类。
标识符类型
命名规则
例子
包(Packages)
一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com,edu,gov,mil,net,org,或1981年ISO 3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department),项目(project),机器(machine),或注册名(login names)。
com.sun.eng
com.apple.quicktime.v2
edu.cmu.cs.bovik.cheese
类(Classes)
命名规则:类名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)
class Raster;
class ImageSprite;
接口(Interfaces)
命名规则:大小写规则与类名相似
interface RasterDelegate;
interface Storing;
方法(Methods)
方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。
run();
runFast();
getBackground();
变量(Variables)
除了变量名外,所有实例,包括类,类常量,均采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符型。
char c;
int i;
float myWidth;
实例变量(Instance Variables)
大小写规则和变量名相似,除了前面需要一个下划线
int _employeeId;
String _name;
Customer _customer;
常量(Constants)
类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。(尽量避免ANSI常量,容易引起错误)
static final int MIN_WIDTH = 4; static final int MAX_WIDTH = 999; static final int GET_THE_CPU = 1;
10.3 常量(Constants)
位于for循环中作为计数器值的数字常量,除了-1,0和1之外,不应被直接写入代码。
10.4 变量赋值(Variable Assignments)
避免在一个语句中给多个变量赋相同的值。它很难读懂。例如:
fooBar.fChar = barFoo.lchar = 'c'; // AVOID!
不要将赋值运算符用在容易与相等关系运算符混淆的地方。例如:
if (c++ = d++) { // AVOID! (Java disallows)
...
}
应该写成
if ((c++ = d++) != 0) {
...
}
不要使用内嵌(embedded)赋值运算符试图提高运行时的效率,这是编译器的工作。例如:
d = (a = b + c) + r; // AVOID!
应该写成
a = b + c;
d = a + r;
10.5 其它惯例(Miscellaneous Practices)
10.5.1 圆括号(Parentheses)
一般而言,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题,是个好方法。即使运算符的优先级对你而言可能很清楚,但对其他人未必如此。你不能假设别的程序员和你一样清楚运算符的优先级。
if (a == b && c == d) // AVOID!
if ((a == b) && (c == d)) // RIGHT
10.5.2 返回值(Returning Values)
设法让你的程序结构符合目的。例如:
if (booleanExpression) {
return true;
} else {
return false;
}
应该代之以如下方法:
return booleanExpression;
类似地:
if (condition) {
return x;
}
return y;
应该写做:
return (condition ? x : y);
10.5.3 条件运算符"?"前的表达式(Expressions before '?' in the Conditional Operator)
如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号。例如:
(x >= 0) ? x : -x;
10.5.4 特殊注释(Special Comments)
在注释中使用XXX来标识某些未实现(bogus)的但可以工作(works)的内容。用FIXME来标识某些假的和错误的内容。
- Java编程规范之命名规范和惯例
- 命名惯例和规范
- 命名惯例和规范
- java命名规范_编程惯例和代码范例
- C#命名惯例和规范
- C#编程规范和惯例
- java编程规范之java命名规范
- java编程规范之java命名规范
- java编程规范之java命名规范
- JAVA编程规范大全之命名规范
- Java编程规范之命名规范
- Java编程规范之命名规范
- Java编程命名规范
- Java编程命名规范
- JAVA编程规范--命名
- Java 编程命名规范
- java 编程命名规范
- Java编程命名规范
- hdu 1846 有趣,有趣
- [你必须知道的.NET] 第一回:恩怨情仇:is和as
- Newtonsoft.net转换日期、时间数据时出现(/Date()/)的问题
- ubuntu 使用wicd network manager 管理 wifi 连接上网
- Java字符串加密处理
- Java编程规范之命名规范和惯例
- [Solved] [Embedded] [FL2440] ADS实验二:汇编语言编程2:相同的源代码和同样的配置,自已对着打上去的却得不到结果:结论是粗心的代价非常大
- mysql 大小写问题
- 确定要使用的 DLL 类型
- 命名管道
- VC 2008 Express下安装OpenCV 2.3.0
- java制作三线报表
- Linux2.6 内核中的计时器和列表
- [你必须知道的.NET] 第二回:对抽象编程:接口和抽象类