java项目名命名规范.docx
- 文档编号:30720112
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:10
- 大小:19.44KB
java项目名命名规范.docx
《java项目名命名规范.docx》由会员分享,可在线阅读,更多相关《java项目名命名规范.docx(10页珍藏版)》请在冰豆网上搜索。
java项目名命名规范
竭诚为您提供优质文档/双击可除
java,项目名命名规范
篇一:
jaVa命名规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。
(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)package的命名
package的名字应该都是由一个小写单词组成。
class的命名
class的名字必须由大写字母开头而其他字母都小写的单词组成
class变量的命名
变量的名字必须用一个小写字母开头。
后面的单词用大写字母开头。
staticFinal变量的命名
staticFinal变量的名字应该都大写,并且指出完整含义。
参数的命名
参数的名字必须和变量的命名规范一致。
数组的命名
数组应该总是用下面的方式来命名:
byte[]buffer;
而不是:
bytebuffer[];
方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
setcounter(intsize){
this.size=size;
}
java文件样式
所有的java(*.java)文件都必须遵守如下的样式规则
版权信息
版权信息必须在java文件的开头,比如:
/**
*copyright032000shanghaixxxco.ltd.
*allrightreserved.
*/
其他不需要出现在javadoc的信息也可以包含在这里。
package/imports
package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。
如果import行中包含了同一个包中的不同子目录,则应该用*来处理。
.stats;
importjava.io.*;
importjava.util.observable;
importhotlava.util.application;
这里java.io.*使用来代替inputstreamandoutputstream的。
class
接下来的是类的注释,一般是用来解释类的。
/**
*aclassrepresentingasetofpacketandbytecounters
*itisobservabletoallowittobewatched,butonly
*reportschangeswhenthecurrentsetiscomplete
*/
接下来是类定义,包含了在不同的行的extends和implements
publicclasscounterset
extendsobservable
implementscloneable
classFields
接下来是类的成员变量:
/**
*packetcounters
*/
protectedint[]packets;
public的成员变量必须生成文档(javadoc)。
proceted、private和package定义的成员变量如果名字含义明确的话,可以没有注释。
存取方法
接下来是类变量的存取的方法。
它只是简单的用来将类的变量赋值获取值的话,可以简单的
写在一行上。
/**
*getthecounters
*@returnanarraycontainingthestatisticaldata.thisarrayhasbeen*freshlyallocatedandcanbemodifiedbythecaller.
*/
publicint[]getpackets(){returncopyarray(packets,offset);}
publicint[]getbytes(){returncopyarray(bytes,offset);}
publicint[]getpackets(){returnpackets;}
publicvoidsetpackets(int[]packets){this.packets=packets;}
其它的方法不要写在一行上
构造函数
接下来是构造函数,它应该用递增的方式写(比如:
参数多的写在后面)。
访问类型("public","private"等.)和任何"static","final"或"synchronized"应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。
public
counterset(intsize){
this.size=size;
}
克隆方法
如果这个类是可以被克隆的,那么下一步就是clone方法:
public
objectclone(){
try{
countersetobj=(counterset)super.clone();
obj.packets=(int[])packets.clone();
obj.size=size;
returnobj;
}catch(clonenotsupportedexceptione){
thrownewinternalerror("unexpectedclonenotsupportedexception:
"+e.getmessage());
}
}
类方法
下面开始写类的方法:
/**
*setthepacketcounters
*(suchaswhenrestoringfromadatabase)
*/
protectedfinal
voidsetarray(int[]r1,int[]r2,int[]r3,int[]r4)
throwsillegalargumentexception
{
//
//ensurethearraysareofequalsize
//
if(r1.length!
=r2.length||r1.length!
=r3.length||r1.length!
=r4.length)thrownewillegalargumentexception("arraysmustbeofthesamesize");system.arraycopy(r1,0,r3,0,r1.length);
system.arraycopy(r2,0,r4,0,r1.length);
}
tostring方法
无论如何,每一个类都应该定义tostring方法:
public
stringtostring(){
stringretval="counterset:
";
for(inti=0;i retval+=data.bytes.tostring();
retval+=data.packets.tostring();
}
returnretval;
}
}
main方法
如果main(string[])方法已经定义了,那么它应该写在类的底部.
代码编写格式
代码样式
代码应该用unix的格式,而不是windows的(比如:
回车变成回车+换行)
文档化
必须用javadoc来为类生成文档。
不仅因为它是标准,这也是被各种java编译器都认可的方法。
使用@author标记是不被推荐的,因为代码不应该是被个人拥有的。
缩进
缩进应该是每行2个空格.不要在源文件中保存tab字符.在使用不同的源代码管理工具时tab字符将因为用户设置的不同而扩展为不同的宽度.
如果你使用ultredit作为你的java源代码编辑器的话,你可以通过如下操作来禁止保存tab字符,方法是通过ultredit中先设定tab使用的长度室2个空格,然后用Format|tabstospaces菜单将tab转换为空格。
页宽
页宽应该设置为80字符.源代码一般不会超过这个宽度,并导致无法完整显示,但这一设置也可以灵活调整.在任何情况下,超长的语句应该在一个逗号或者一个操作符后折行.一条语句折行后,应该比原来的语句再缩进2个字符.
{}对
{}中的语句应该单独作为一行.例如,下面的第1行是错误的,第2行是正确的:
if(i>0){i++};//错误,{和}在同一行
if(i>0){
i++
};//正确,{单独作为一行
}语句永远单独作为一行.
如果}语句应该缩进到与其相对应的{那一行相对齐的位置。
括号
左括号和后一个字符之间不应该出现空格,同样,右括号和前一个字符之间也不应该出现空格.下面的例子说明括号和空格的错误及正确使用:
callproc(aparameter);//错误
callproc(aparameter);//正确
不要在语句中使用无意义的括号.括号只应该为达到某种目的而出现在源代码中。
下面的例子说明错误和正确的用法:
if((i)=42){//错误-括号毫无意义
if(i==42)or(j==42)then//正确-的确需要括号
篇二:
java开发与命名规范V1.0
java开发与命名规范
一、目的
为规范网络服务研究(简称中心)j2ee应用开发,统一中心j2ee应用开发
的编码规范,特制定本规范。
本标准是中心jaVa项目评审与验收的运行环境、开发工具的技术标准和依
据。
二、适用范围
本规程适用于jaVa应用系统开发。
三、开发规范
(一)系统命名规则
为提高软件的可读性、可维护性,统一编程风格,必须遵循一致的命名规范。
命名规则中依然延用mVc方式来进行规范。
1.数据库表的命名规则
数据库表的命名要求表名能够体现名称和业务,数据库表的命名规则是:
表
名=业务名+“_”+对象名,模块统一用3个英文字母,如权限security---sec
例:
sec_useR(在oralce不区别大小写)
详见《oracle数据库设计规范》。
2.代理层命名规则
(1)包命名
格式:
com+szhome+应用名称+模块名称+delegate
sample:
com.szhome.suplisweb.security.delegate
(2)类命名
对每个实体提供一个代理,或者以业务来组织代理
(即一个代理可能包含了几个数据库表的操作,但是这个代理是某一个业务的代
理)。
格式:
实体名delegate
sample:
userdelegate
在代理中可以通过dao工厂获取调用相应的dao接口的实现实例,再调用此
实例的具体方法。
从工厂中获取dao的实现有两种实现:
a.从特定的Factory中获取。
例:
userdaouserdao=securitydaoFactory.getuserdao();
b.从通用的Factory去取(通用Factory:
mons.factory.basicFactory)
例:
userdaosuerdao=basicFactory.getimpl(userdao.class);
3.dao层命名规则
(1)包命名
格式:
com+szhome+应用名称+模块名称+dao
sample:
com.szhome.suplisweb.security.dao
(2)类命名
a.工厂命名。
对每个模块提供一个生产dao接口实现的工厂。
格式:
模块名称daoFactory
sample:
securitydaoFactory
注:
如果使用mons.factory.basicFactory就没有必要再去
实现特定的工厂类了,直接通过dao接口类就可以获取到对应的实现对象:
例:
userdaosuerdao=basicFactory.getimpl(userdao.class);
b.接口命名。
对每个实体提供一个接口,对这个实
体可能的操作定义该接口中。
格式:
实体名dao
例:
userdao
对实体的通用操作方法定义在:
mons.database.generaldao
中,dao接口可以先继承generaldao,再定义特有的操作。
c.接口实现。
对每个dao接口可以提供多个实现,如ejb实现,hiberate
实现等。
格式:
实体名+dao+impl
例:
userdaoimpl,userdaoejbimpl
实现接口的通用操作方法定义在:
mons.database.generaldaoimpl中,dao接口实现可以先继承generaldaoimpl,再实现其他特有的操作,根据需要,可以复写generaldaoimpl中的方法。
4.V视图层命名规则
使用jsp作为其表示层,表示层的命名规则主要就是相应jsp的名称和jsp
所在的路径。
(1)jsp名称
基于功能的分离,我们对数据记录的操作分为以下几个子操作:
1对象或业务主界面--main.jsp
2列表--list.jsp
3查看--view.jsp
4编辑主界面--editmain.jsp
5编辑--edit.jsp
6新增--add.jsp
7删除--不提供专用于删除的jsp页面,具体可能在list.jsp或
edit.jsp操作。
(2)jsp路径
1在webapp下面创建一个业务对应的文件夹,如:
权限业务为security
2为具体的操作对象创建一个文件夹,如,用户为user
3在对象文件夹下面放置以下jsp文件:
1>list.jsp2>view.jsp3>edit.jsp4>add.jsp
例:
defaultwebapp--web应用根目录
security--权限应用目录
user--操作对象目录
list.jsp--存放jsp文件
edit.jsp
add.jsp
view.jsp
main.jsp
editmain.jsp
(3)各个业务表单放在一个路径的情况
某类业务的各个业务表单都放在一个路径下,表单命名采用:
业务表单名_
操作名.jsp,例如用户的查看表单:
user_view.jsp,用户的编辑表单:
user_edit.jsp。
操作名分为7类:
对象或业务主界面、列表、查看、编辑主界面、编辑、
新增、删除,与
(1)相同。
5.c控制层命名规则
电子政务基础平台使用的是struts框架,并且没有使用actionForm,而是
使用数据传输对象dto进行各层之间的数据传递,所以控制层命名规则主要就是规范action的名称和包。
action包命名:
com+szhome+应用模块名+action
例:
在权限模块下action所在包名为com.szhome.security.action
action名:
操作对象+action
例:
权限模块下的用户action即为useraction全名为com.szhome.security.
action.useraction
继承:
所有action继承于mons.action.baseaction
例:
packagecom.szhome.security.action;
publicclassuseractionextendsbaseaction
.
6.变量命名
变量命名应能体现变量的作用,不应使用中文字母,而要使用英文组合。
以用户信息为例,yhxx是不好的变量命名,userinfo是较好的变量命名。
篇三:
java项目名规范
一、项目名
全部小写,比如cms、workdesk,jobserver等
二、java相关命名
a、类命名:
每音节单词前的第一个字母大写,比如Fieldinfo、expression等\
b、普通变量(包括spring里的变量引用命名):
第一个单词前小写,以后每个单词第一个字母大写,password,primaryFlag
c、静态变量:
全部大写,多个单词则以_分开,比如boolean_Flag
d、包package命名:
全部小写,比如com.joinspider.workdesk
e,属性名和方法名由一个或几个单词组成,第一个单词首字母小写,其他单词首字母大写,如health,stuname,println(),getmessage()
补充:
a、类名、变量名是名字组合,多名词顺序和中文顺序一样,比如scriptengineb、属性也可以是形容词+名词
c、常量可使用上述规则,如果为了体现多个常量是一组的概念,也可以被修饰前置,比如:
VaR_staRt,VaR_end.
c、方法是动词+名字或者只有动词
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 项目 命名 规范