
Java语言编码规范JavaCodeConventions.doc
10页Java语言编码规范一、 包命名方式(全部小写)com.sc.系统名.模块名.层次名.子层次名,例:com.sc.mfab.master.domin.facade二、 JAVA 类文件命名(JAVA Class File Names)1 Action命名标准机能 ID + “Acti on”,例:FN00001 Action.java2 Dao命名标准接口:表名 4- “Dao”,例:TbUserDao.java实现:表名 + “Daolmpl” ,例:TbUserDaoImpl.java3 Facade命名标准Fagade文件按照模块划分接口:模块名 + “Facade”,例:MasterFacade.java实现:模块名 + “FacadeImpl”,例:MasterFacadelmpl.java(Facade文件如果较大(预计会超过2000行)可以按照子模块划分)4 ActionForm命名标准画面 ID + “Form”,例:PN0001 Form.java5 POJO命名标准对应表名 + “Bean”,例:UserBean.java6常量类命名标准模块名 4- “Constants” ,例:MasterConstants.java全系统常量类名:CommonConstants.java7 Util类命名标准工具名 + “Utils” ,例:StringUtils.java包名:com.sc.utils.StringUtils.java8 common 包放与项目相关的共同方法。
例:com.sc.® H 名.common三、 类中变量和方法命名1变量命名方式多个名词组合,第一个名词首字母小写,其他名词首字母大写例:userName, objectFactory, entrys, userList2常量命名方式多个名词组合,全部大写,中间加下划线,例:MAX_TIMES, DEFAULT_NAME3方法名命名方式和变量命名方式相同,例:selectUserName();getUserName();insertUserName();updateUserName();deleteUserName();4临时变量循环:i , j, k....I nt , long...注意点:在定义JAVA BEAN中的变量类型的时候,尽量用类而不是基本数据类型如果定 义了基本数据类型从数据库返回的值为NULL赋值给这个数据的BEAN的话会报错四、 JAVA 文件组织(File Organization)一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成超过2000行的程 序难以阅读,应该尽量避免Java源文件范例”提供了一个布局合理的Java程序范例1 开头注释(Beginning Comments)所有的源文件都应该在开头有一个C语言风格的注释,其中列出类名、版本信息、口期和版权 声明:/** Classname** Version information* author* Date* Copyright noticc*/类名称版本信息(修改历史) 作者建立吋间版权信息2 包和弓I入语句(Package and Import Statements)在多数Java源文件中,第一个非注释行是包语句。
在它之后可以跟引入语句,引入类文件尽量 粘确到类名例如:package java, awt;import java. awt. peer. CanvasPeer;避免使用如下:import java. awt. peer. *;3类开始注释/* **描述Java类的作用*/4方法注释/* **描述方法的作用*/五、排版和注释(Indentation)4个空格常被作为缩进排版的一个单位缩进的确切解释并未详细指定(空格vs.制表符)一 个制表符等于8个空格(而非4个)1 行长度(Line Length)尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理之2 换行(Wrapping Lines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之:-在一个逗号后面断开-在一个操作符前面断开・宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开-新的一行应该与上一行同一级别表达式的开头处对齐・如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代Z以缩进8个空格以下是两个断开算术表达式的例子前者更好,因为断开处位于括号表达式的外边,这是个较高 级别的断开。
例:IongNamel 二 IongName2 * (longName3 + longName4 - longName5)+ 4 * longname6; //PREFFERlongNamel = longName2 * (longNamc3 + longName4-longName5) + 4 * longnanie6;3 布局(Placement)原则是简单易读,布局的时候可以选择你要布局的代码使用Eclipse的快捷键“ctrl+shift+F” 进行快速排版布局1、 首字母对齐2、 每层循环都向后缩进4个空格3、 除定义变量注释放在每行后面,其他全部放在代码的上面//4 块注释(Block Comments)块注释通常用于提供对文件,方法,数据结构和算法的描述块注释被置于每个文件的开始处以 及每个方法之前它们也可以被用于其他地方,比如方法内部在功能和方法内部的块注释应该 和它们所描述的代码具有一样的缩进格式多行连续注释也可以用这种/** Here is a block commont・*/5 单行注释(End-Of-Line Comments)注释界定符”//“,可以注释掉整行或者一行中的一部分。
它一般不用于连续多行的注释文本;然 而,它可以用来注释掉连续多行的代码段以卞是所有三种风格的例子:if (foo > 1) {// Do a double-flip.• • •}else {return false; // Explain why here.}//if (bar > 1) {//// // Do a triple-flip.// ・・・//}//else {// return false;//}6 JAVA DOC 注释/* ** Here is a block comment.*/7 声明(Declarations)推荐一行一个声明,因为这样以利于写注释亦即,int level; // indentation levelint size; // size of table耍优于,int level, size;注意:声明变量的时候后面都要加注释intlevel;// indentation levelintsize;// size of tableObjectcurrentEntry;// currently selected table entry六语句(Statements)1 简单语句(Simple Statements)每行至多包含一条语句,例如:argv++; // Correctargc--; // Correctargv++; argc--; // AVOID!2 复合语句(Compound Statements)复合语句是包含在大括号中的语句序列,形如%语句}”。
・被括其中的语句应该较之复合语句缩进一个层次-左大括号・'{“应位于复合语句起始行的行尾;右大括号”}”应另起一行并与复合语句首行对齐3 返回语句(return Statements)一个带返回值的return语句不使用小括号”()”,除非它们以某种方式使返回值更为显见例如:return null;return myDisk. size();return (size ? size : defauItSize);return getUserName();4 if, if-else. if else-if else 语句(if, if else-if else Statements)if-else语句应该具有如下格式:if (condition) {statements;if (condition) {statements;} else {statcmcnts;}/*如果 满足条件conditionl 执行statementsl *如果 满足条件condition2 执行statements2 *其他情况执行statcments3*/if (conditionl) {statementsl;} else if (condition2) {statcmcnts2;} else{statements3;}注意:if语句总是用”{”和”}“括起来,避免使用如下容易引起错课的格式: if (condition) //AVOID! THIS OMITS THE BRACES {}!statement;5 for 语句(for Statements)一个for语句应该具有如下格式,FL最好不要超过2层循环。
//for循环的条件for (initialization; condition; update) { statements;}注意:例:for (int i=0; i 上面的示例代码中就包含注释/* falls through */o9 try-catch 语句(try-catch Statements)一个try-catch语句应该具有如下格式(一定要加finally, finally nJ"以为空):tr。
