JAVA开发编码规范1.2(2)

2019-08-31 00:26

江苏亿科达科技发展有限公司

功能块结束:}//end if...userName is null?

循环快结束:}//end for...every user in userList 不要在程序中出现不必要的括号,但有时为了增加可读性和便于理解,当用括号限定相应项。

If,for,while 语句只有单句时,如果该句可能引起阅读混淆,需要用\和\括起来,否则可以省略。

三、注释规范

3.1 基本原则

基本原则:注释应该增加代码的清晰度。代码注释的目的是要使代码更易于被其他开发人员等理解。

注释信息不仅要包括代码的功能,还应给出原因。

除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。

3.2 文件注释

在每个文件、包的头部都应该包含该文件的功能、作用、作者、版权以及创建、修改记录等。并在其中使用版本仓库标记自动跟踪版本变化及修改记录等信息。注意是标准的C-Style/*...*/ 注释而不是/* ...*/ 形式的JavaDoc 注释,在ECLIPS中使用CODE TEMPLATES会自动添加,如下。

/*

* @(#) Test1.java

* Created Date: Sep 11, 2008 * *

* This software is the confidential and proprietary information of * Jiangsu Ecode Co., Ltd. (\ * disclose such Confidential Information and shall use it only in accordance

* with the terms of the license agreement you entered into with * Jiangsu Ecode Co., Ltd. */

* Copyright (c) Jiangsu Ecode Co., Ltd

6/18

江苏亿科达科技发展有限公司

3.3 Java Doc 注释

对类、方法、变量等的注释需要符合JavaDoc 规范,对每个类、方法都应详细说明其功能、条件、参数等,并使用良好的HTML 标记格式化注释,以使生成的JavaDoc易阅读和理解。

类注释中当包含版本和作者信息,使用版本仓库的标记自动跟踪版本变化和修改记 录,如下。

/**

* 用于示例的类 *

* @author * @version $Rev$

* $Id: Test1.java,v 1.2 2008/09/17 02:25:08 cvsroot Exp $ */

public class Test1 { }

private static final Logger logger = Logger.getLogger(Test1.class); /**

*一个测试的方法

*@param userid 用户编号

*@return 返回用户信息对象,若无该用户信息,则返回null */

private UserInfo getStrings(Integer userid) { }

……………

return userInfo;

3.4 失效代码注释

由/*...*/界定,标准的C-Style 的注释。专用于注释已失效的代码。

/*username = \

password = \ currentCar = \ logined = false;

attributes = new HashMap();

attributes.put(\

失效注释快捷键是Ctrl+Shift+/ ,取消注释是Ctrl+Shift+\\

7/18

江苏亿科达科技发展有限公司

3.5 代码细节注释

由// 界定,专用于注释代码细节,即使有多行注释也仍然使用//,以便与用/**/注 释的失效代码分开除了私有变量外,不推荐使用行末注释。

//设置CarBean

for(int i=0; i < 20; i++) { }

//首先需要生成实例

CarBean bean = new CarBean(); bean.setBaseprice(11); bean.setDescription(\); bean.setName(\); cdao.save(bean);

3.6 注释的格式

? ? ? ? ? ? ?

注释中的第一个句子要以(英文)句号、问号或者感叹号结束。Javadoc 生成工具会将注释中的第一个句子放在方法汇总表和索引中。

为了在JavaDoc 和IDE 中能快速链接跳转到相关联的类与方法,尽量多的使用@see xxx.MyClass,@see xx.MyClass#find(String)。

Class 必须以@author 作者名声明作者,不需要声明手工指定@version 与@date,由版本管理系统保留此信息。

如果注释中有超过一个段落,用

分隔。

示例代码以

包裹。 

标识(java keyword, class/method/field/argument 名,Constants) 以包裹。 标识在第一次出现时以{@linkxxx.Myclass}注解以便JavaDoc 与IDE 中可以链接。

3.7 注释的内容

? ? ? ? ? ?

8/18

对于API 函数如果存在契约,必须写明它的前置条件(precondition),后置条件(postcondition),及不变式(invariant)。

对于调用复杂的API 尽量提供代码示例。

对于已知的Bug 需要声明。

在本函数中抛出的unchecked exception 尽量用@throws 说明。

注释中的每一个单词都要有其不可缺少的意义,注释里不写\name -名字\无意义的内容。

注释的标签必须有内容,不能存在空的@param name,空的@return。

江苏亿科达科技发展有限公司

3.8 Null 规约

如果方法允许Null 作为参数,或者允许返回值为Null,必须在JavaDoc 中说明。

如果没有说明,方法的调用者不允许使用Null 作为参数,并认为返回值是Null Safe的。

/**

*

* @param actionEvent 买车按钮的动作事件 * @throws Exception 一般异常 */

public void buyCar(ActionEvent actionEvent) throws Exception { }

9/18

江苏亿科达科技发展有限公司

4 命名规范(Naming Conventions)

规范的命名能使程序更易阅读,从而更易于理解。它们也可以提供一些标识功能方面的信息,有助于更好的理解代码和应用。

4.1 基本约定

?

使用可以准确说明变量/字段/类/接口/包等的完整的英文描述符。例如,采用类似firstName,listAllUsers 或CorporateCustomer 这样的名字,严禁使用汉语拼音及不相关单词命名,虽然Java 支持Unicode 命名,但本规范规定对包、类、接口、方法、变量、字段等不得使用汉字等进行命名。

采用该领域的术语。如果用户称他们的“客户”(clients) 为“顾客”(customers),那么就采用术语Customer 来命名这个类,而不用Client。

采用大小写混合,提高名字的可读性。一般应该采用小写字母,但是类和接口的名字的首字母,以及任何中间单词的首字母应该大写。包名全部小写。 尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等,如实现(implement)可缩写成impl,应用程序(application)可缩写成app 等,严禁滥用缩写。 ? ? ? ?

? ? ?

避免使用长名字(最好不超过25 个字母)。 避免使用相似或者仅在大小写上有区别的名字。

避免使用数字,但可用2 代替to,用4 代替for 等,如:go2Jsp。

遇到缩写如XML 时, 仅首字母大写, 即loadXmlDocument() 而不是loadXMLDocument()。

4.2 文件、包

? ? ? ? ?

文件名当与其类严格相同,所有单词首字母大写。

包名一般以项目或模块名命名,少用缩写和长名,一律小写。 基本包:com.candur,所有包、文件都从属于此包。

包名按规则组成:[基本包] . [项目名] . [模块名] . [子模块名]... 不得将类直接定义在基本包下,所有项目中的类、接口等都当定义在各自的项目和模块包中。

4.3 类、接口

所有单词首字母大写。使用能确切反应该类、接口含义、功能等的词。一般采用名词。接口可以可以在名词前加大写I,如IBookDao,,BookDaoIF。

10/18


JAVA开发编码规范1.2(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:嵌入式系统测试方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: