- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java编程规范解读
Java编程规范
目录
Java编程规范 1
1 编码规则 1
2 命名规范 7
2.1 类名、变量名(非final)、方法名 7
2.2 驼峰式命名 7
2.3 不能使用没有任何含义的英文字母进行命名 7
2.4 不能使用拼音进行命名,统一使用准确的英文进行命名 8
2.5 包名 8
2.6 接口与类的命名 8
2.7 抽象类命名 8
2.8 实现类命名 8
2.9 工具类命名 8
2.10 变量命名 8
2.11 5、方法命名 9
2.12 系统的命名约定 9
编码规则
1、数据库操作、IO操作等需要使用结束close()的对象必须在try?-catch-finally?的finally中close(),如果有多个IO对象需要close(),需要分别对每个对象的close()方法进行try-catch,防止一个IO对象关闭失败其他IO对象都未关闭。
手动控制事务提交也要进行关闭,对大对象进行关闭操作
示例:
try
{
????// ... ...
}
catch(IOException ioe)
{
?????//... ...
}
finally
{
????try
????{
??????????out.close();
????}
????catch (IOException ioe)
????{
?????????//... ...
}
?
?
try
????{
??????????in.close();
????}
????catch (IOException ioe)
????{
?????????//... ...
????}
} 2、 系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志。
说明:此规则指通常的系统非正常运行产生的异常,不包括一些基于异常的设计。若有特殊原因必须用注释加以说明。
logger.error(ioe,“[类.方法]描述”,参数);
示例:
try
{
????// ...
}
catch (IOException ioe)
{
????logger.error(ioe);
} 3、自己抛出的异常必须要填写详细的描述信息。
说明:便于问题定位。
示例:
throw new? IOException(Writing data error! Data: + data.toString()); 4(删除)、在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常。
说明:
一个系统或者模块应该统一规划异常类型和返回码的含义。?
但是不能用异常来做一般流程处理的方式,不要过多地使用异常,异常的处理效率比条件分支低,而且异常的跳转流程难以预测。
注意:JDK1.5 程序内部的错误码可以使用枚举来表示。
5、 注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。
示例:
下列语句中的表达式
word = (high 8) | low???? (1)
if ((a | b) (a c))????? (2)
if ((a | b) (c d))?????? (3) 如果书写为
high 8 | low
a | b a c
a | b c d (1)(2)虽然不会出错,但语句不易理解;(3)造成了判断条件出错。
6、避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的静态变量或者枚举来代替。
示例:如下的程序可读性差。
if (state == 0)
{
????state = 1;
????...? // program code
} 应改为如下形式:
private final static int TRUNK_IDLE = 0;
private final static int TRUNK_BUSY = 1;
private final static int TRUNK_UNKNOWN = -1;
??
if (state == TRUNK_IDLE)
{
????state = TRUNK_BUSY;
????...? // program code
} 注意:JDK 1.5 下建议使用枚举来表示。
7(删除)、数组声明的时候使用?int[]?index?,而不要使用?int?index[]
说明:使用int?index[]?格式使程序的可读性较差,int?[]?index?表示声明了一个int数组(int?[])叫做index
示例:
如下程序可读性差:
public int getIndex()[]
{
????
文档评论(0)