翻阅别人整理的一份《Java语言编码规范(Java Code Conventions)》。我从其中抽出了我觉得自己会犯的错误,或者是阅读代码的时候常常遇到的问题罗列出来。自我警示而已。不能算什么文章。
- 我翻阅的此文档版权如下:
- 译者 晨光(Morning)
- 搜集整理:华竹技术实验室http://sinoprise.com
- 简介:
- 本文档讲述了Java语言的编码规范,较之陈世忠先生《c++编码规范》的浩繁详尽,此文当属短小精悍了。而其中所列之各项条款,从编码风格,到注意事项,不单只Java,对于其他语言,也都很有借鉴意义。因为简短,所以易记,大家不妨将此作为handbook,常备案头,逐一对验。
- 声明:
- 如需复制、传播,请附上本声明,谢谢。原文出处:http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html, 译文出处:http://morningspace.51.net/,moyingzz@etang.com
- 声明:
推荐一行一个声明,因为这样利于写注释。即:
- int size;//size of XXXX
- int length;//length of XXXX
不要将不同类型的变量放在同一行。
- int foo ,fooarray[];//居然可以这么干。我从来没干过。。。见识了。
比较整齐的制表符方式:
- int size; //size of XXXX
- int length; //length of XXXX
- Object currentyXXXX; //currently selected XXXX
- 初始化
尽量在声明局部变量的同时初始化。唯一不这么做的理由是变量的初始值依赖于某些先前发生的计算。
- 语句
简单语句:
每行最多包含一条语句。
复合语句:
大括号可以被用于所有语句,包括单个语句。
见过有人写switch语句 每个case后又有一对大括号。
当switch语句的某个case后面不需要break的时候应该写注释说明。。
if语句总是用 {}括起来。避免使用如下容易引起错误的格式
- if(condition)
- statement;
项目里面这样的写法比比皆是,看着就像出门没穿内裤一样,感觉又危险又不舒服。
- 命名规则
临时变量
整型变量常用 i j k m n
字符型 用:c d e
实例变量
大小写规则和变量相似,除了前面需要一个下划线。
- 变量赋值
避免在一个语句中给多个变量赋相同的值。比如
- fooBar.fChar = barFoo.lchar = ‘c’; //AVOID!!
不用将赋值运算符用在容易与相等关系运算符混淆的地方 . 比如:
- if(c++ = d++){//我痛恨看到这样的代码,看得人都皮发麻。。
- }
不要使用内嵌(embedded)赋值运算符试图提高运算是的效率。不知道是否真的可以提高运算效率。。 这样的代码看着让人崩溃。
- d = (a = d + c) + r; //AVOID !!
应该写成
- a= b +c;
- d = a + r;
- 返回值
让你的程序结果符合目的。例如:
- if(booleanExpression){
- return ture;
- }else{
- return false;
- }
完全可以写成 。。。
- return booleanExpression;
还有我曾经见过。。 这样么写的。。
- if(!booleanExpression){
- //语句A
- }else{
- //语句B
- }
实在想不通 为什么不写成
- if(booleanExpression){
- //语句B
- }else{
- //语句A
- }
比较喜欢逆向思维?还是怎么?其实也可以理解,或许是因为项目中刚开始只需要考虑!booleanExpression的情况,而后来又有需求两种情况都考虑。所以就产生了这样的代码。
类似的还有:
- if(condition){
- return x;
- }
- return y;
应该写做:
- return (condition ? x : y);
转载于:https://blog.51cto.com/qxjerry/884355