java语言编码规范(sun)_java编码规范——常见不规范现象

翻阅别人整理的一份《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

声明:

推荐一行一个声明,因为这样利于写注释。即:

intsize;//size of XXXX

intlength;//length of  XXXX

不要将不同类型的变量放在同一行。

intfoo ,fooarray[];//居然可以这么干。我从来没干过。。。见识了。

比较整齐的制表符方式:

intsize;//size of XXXX

intlength;//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){

returnture;

}else{

returnfalse;

}

完全可以写成 。。。

returnbooleanExpression;

还有我曾经见过。。 这样么写的。。

if(!booleanExpression){

//语句A

}else{

//语句B

}

实在想不通 为什么不写成

if(booleanExpression){

//语句B

}else{

//语句A

}

比较喜欢逆向思维?还是怎么?其实也可以理解,或许是因为项目中刚开始只需要考虑!booleanExpression的情况,而后来又有需求两种情况都考虑。所以就产生了这样的代码。

类似的还有:

if(condition){

returnx;

}

returny;

应该写做:

return(condition ? x : y);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值