04编码规范JAVAJSPv100Word文档格式.docx
- 文档编号:18713646
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:25
- 大小:196.40KB
04编码规范JAVAJSPv100Word文档格式.docx
《04编码规范JAVAJSPv100Word文档格式.docx》由会员分享,可在线阅读,更多相关《04编码规范JAVAJSPv100Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
4.3.1Struts.xml配置文件命名6
4.3.2StrutsAction类命名6
4.4Spring命名7
4.4.1Springxml配置文件命名7
4.4.2配置文件规定7
5JavaScript编码规范8
5.1JavaScript公用js文件引入8
5.2JavaScript实例分析8
5.2.1一段可读性和维护极差的代码8
5.2.2未使用公共函数,内置方法9
5.2.3变量名定义混乱9
5.2.4document.all避免使用9
5.2.5乱注释,全是些无用注释9
5.2.6总体混乱10
5.3Javascript常见问题10
5.3.1Javascript代码块应该放到<
head>
<
/head>
标签内10
5.3.2错误的Javascript代码块的放置11
5.4Javascript技巧11
5.4.1如果值无效返回默认值11
5.4.2如何取得变量的值11
5.4.3面向对象的Javascript有效避免命名冲突12
5.5Javascript编码规范12
5.5.1JavaScript文件12
5.5.2缩进13
5.5.3每行长度13
5.5.4注释13
5.5.5变量声明14
5.5.6函数声明14
5.5.7命名15
5.5.8语句16
5.5.9另外的建议19
5.5.10空白20
5.5.11{}和[]20
5.5.12(,逗号)操作符20
5.5.13作用域20
5.5.14赋值表达式20
5.5.15===和!
==操作符21
5.5.16令人迷惑的加号和减号21
5.5.17需要避免的语句21
1前言
编写本标准的目的是为了统一公司Java语言的风格,提高软件代码的可读性、可靠性和可重用性,从而提高生产效率,降低成本,保证软件产品的质量。
本规范适用于公司所有用Java语言编制的软件源程序。
自本标准实施之日起,以后新编写的代码均应执行本标准。
若有用户要求,以用户要求为准。
2基本原则
基本原则为编程时应该坚持的指导思想。
【原则1】保持代码的简明清晰,避免过分的编程技巧。
【原则2】所有的代码尽量遵循ANSIC标准。
【原则3】编程时首先达到正确性,其次考虑效率。
【原则4】避免或少用全局变量。
【原则5】尽可能重用、修正老的代码。
3文件目录
3.1工程目录结构命名规范与约定
编码模块
目录名称
目录说明
描述
Java编码目录
Src
存放java类源码
Ailkcomm
系统共用模块、底层目录
ailkcomm/com/ailk/util
常用工具类目录
如日期操作、字符串操作等。
src/com/ailk/项目名称
项目目录
如:
/src/com/ailk/fs。
src/com/ailk/comm
项目共用模块目录
机构树使用等等。
configs
项目配置文件目录
src/com/ailk/fs/account
模块目录
Account模块名称
src/com/ailk/fs/audit/action
Action目录
注意:
每个业务模块下都有该目录
src/com/ailk/fs/audit/domain
接口类目录
src/com/ailk/fs/audit/domainimpl
实现类目录
src/com/ailk/fs/audit/configs
业务模块配置目录
Jsp编码目录
WebRoot/pages
存放前台展现的jsp文件
WebRoot/pages/account
存放jsp文件模块目录
该目录必须同后台处理的src目录下的模块目录一一对应
WebRoot/css
存放jsp样式文件
WebRoot/js
存放js文件
WebRoot/images
存放图片资源文件
3.2项目结构图
4JAVA编码规范
4.1编码命名规范
4.1.1命名规范与约定
文件类型
规范
例子
Package命名
1.项目包名统一前缀:
ailk
2.名称统一都使用小写
ailk公司简称
/src/com/ailk
Class之接口类命名
1.采用模块名称+Dao结束
2.使用驼峰命名法
AuditFormatDao.java
Class之实现类命名
1.采用模块名称+Impl结束
AuditFormatImpl.java
JSP文件命名
1.文件命名使用英文命名,可以由多个英文单词组合而成。
2.第一个单词小写,后面的单词头字母大写。
例如:
员工权限管理:
staffRoleMgr.jsp
1.对于同一页面区分增加、修改页面的,文件名的末尾可以增加动作名称。
例:
权限管理页面下增加员工权限:
staffRoleAdd.jsp
4.1.2编码命名与规范
类型
包和引入语句
在Java源文件中,第一个非注释行是包语句。
在它之后可以跟引入语句。
引入语句要使用精确引入。
包名全部为小写
packagejava.awt;
importjava.awt.peer.CanvasPeer;
而不是
importjava.awt.peer.*;
方法命名
1.动词+名词+条件的方式来命名,首字母小写,其他单词首字母大写。
2.查询方法:
动词采用get(无条件查询),qry(有条件查询)
3.修改:
动词采用mod
4.删除:
动词采用del
5.新增:
动词采用add
6.其他:
以实际动词为准
7.类内部变量的访问使用getXxx,setXxx方法实现。
PublicStringaddStaffRole()
publicStringetStaffPrivilege()
publicStringmodRole()
publicStringdelRole()
publicStringqryRole()
方法编码
1.一个方法里面的代码行数不能超过50行
2.每一个方法与变量都必需做相应注释
3.不建议使用全局静态变量static,除非是定义常量
4.排版规范建议使用MyEclipse自带工具处理,使用快捷键是:
在编辑的代码窗口按Ctrl+Shift+F键处理。
这样子速度快,又能统一格式。
变量、参数命名
1.使用首个字母小写,代表所声明的数据类型第一个字母,后面单词首个字母大写,并尽量使用有意义的单词,并写清楚注释。
2.生命周期短的临时变量(如循环语句中用到的变量)中通常用i,j,k,m和n表示整数,并在使用时声明。
3.staticFinal变量的名字应该都大写,单词之间用“_”隔开,并且指出完整含义。
4.数组命名,数组应该总是用下面的方式来命名:
byte[]buffer。
StringsUserName;
For(inti=0,i<
100,i++)
Stringc;
StaticStringAPP_ID
注释
1.方法头注释
/**
*Function:
将数据库中获取的字段大写=》小写
*@paramlist
*@return
*@authorwangyz2010-7-30
*
*/
配置方法:
window-》preferences-》java-》codestyle-》codetemplates-》comments-》methods
点击左边的edit,然后复制进去就可以了。
按alt+shift+Z增加注释
2.方法内代码单行注释
if(search!
=null){
//获取父节点
BssOrgList=bssOrgFacade.getBssParentOrg(search);
}else{
//获取子节点
BssOrgList=bssOrgFacade.getBssOrg(search);
}
returnSUCCESS;
3.成员变量注释
public的成员变量必须要有注释,直接在变量名后面增加。
如:
StaticStringAPP_ID//程序标识
proceted、private和package定义的成员变量如果名字含义明确的话,可以没有注释
时间格式处理
时间的处理格式,例子如:
把String类型转换为时间类型如:
Stringdate=“2010年9月1日”;
Datesdate=DateUtil.getDate(DateUtil.YYYY$MM$DD$,date);
Date类型转String类型
Stringdate=DateUtil.getFormate(DateUtil.YYYY$MM$DD$,newDate());
其他按照先去定的格式标准
4.2配置文件方面
4.2.1Ibatis配置文件命名规范
Ibatis配置文件统一放置在configs目录下
对于工具生成的配置文件,根据工具生成的命名为准。
对于自行编写的,一般采用:
模块名-sqlMap.xml的命名方式
比如:
system-sqlMap.xml
4.2.2Ibatissql/类映射命名规范
Namespace以模块名称定义。
sqlMapnamespace="
system"
>
SQL映射建议以操作动词+操作表名,并在SQL块之前加上注释
!
--初始化查询-->
selectid="
get_Role"
remapResults="
true"
parameterClass="
java.util.HashMap"
resultClass="
selectb.bss_org_level_idfromrole
/select>
--增加操作:
-->
insertid="
add_Role"
>
insertintorole
(role_id,role_name,role_desc,bss_org_level_id)
values
(seq_role_id.nextval,#role_name#,#role_desc#,100)
/insert>
--删除操作:
<
updateid="
del_Role"
deleterolewhererole_id=#role_id#
/update>
--修改操作-->
mod_Role"
updaterolesetrole_name=#role_name#,role_desc=#role_desc#
whererole_id=#role_id#
--数据查询:
qry_Role"
selectrole_id,role_name,role_desc
fromrole
whererole_id=#role_id#
4.3Struts配置方面
4.3.1Struts.xml配置文件命名
Struts配置文件统一放置在configs目录下:
命名规则统一遵照struts+模块名称,如:
struts-system.xml
4.3.2StrutsAction类命名
StrutsAction类统一采用采用“Action名称+方法名称”来命名
比如前台操作帐户信息的action:
采用AccountAction.java
--增加角色-->
actionname="
delRole"
class="
com.opensymphony.xwork2.ActionSupport"
--删除角色-->
actionname=”SysRole_delRole"
com.ailk.fs.system.sysrole.action.SysRoleAction"
method="
delRole"
--修改角色-->
systemrole_edit"
qryRole"
--查询角色-->
systemrole_qry"
updateRole"
4.4Spring命名
4.4.1Springxml配置文件命名
采用:
applicationContext-模块名.xml的命名方式
applicationContext-system.xml
4.4.2配置文件规定
Beanid命名规则以模块+接口名称,例如:
beans>
beanid="
system_SysroleFacade"
com.ailk.fs.system.sysrole.domainimpl.SysRoleImpl"
/>
/beans>
.
5JavaScript编码规范
5.1JavaScript公用js文件引入
对于系统各界面公用的功能块,如导航菜单等,统计引用all.js,便于后续增加的公用功能的扩展。
5.2JavaScript实例分析
5.2.1一段可读性和维护极差的代码
5.2.2未使用公共函数,内置方法
可以修改为下面的方式,简单明了:
5.2.3变量名定义混乱
ss是什么意思,如果这个变量用到其他地方,谁知道他是什么意思。
做如下更改。
5.2.4document.all避免使用
不建议使用IE下的古老方法,只适用于IE,可以替换为$E()
替换为:
5.2.5乱注释,全是些无用注释
这些注释完全没用,反而增加了代码的晦涩程度,这种注释开发完成后应该删除掉。
没有注释,请告诉我这段代码干了些什么?
5.2.6总体混乱
逻辑比较复杂的脚本需要拆分为几个方法,这样才能是脚本清晰易懂,易于维护。
5.3Javascript常见问题
标签内
5.3.2错误的Javascript代码块的放置
5.4Javascript技巧
5.4.1如果值无效返回默认值
原始代码:
简化后的代码:
5.4.2如何取得变量的值
5.4.3面向对象的Javascript有效避免命名冲突
改造前的代码,init在目前系统中会被其他js库的init方法给覆盖掉,导致一些莫名其妙的错误。
迫使我们将方法名命名复杂点,但是造成方法同名的问题概率也是比较高的,最好的办法就是建立命名空间的概念,解决这个问题!
改造后的代码,不会存在命名冲突的问题
5.5Javascript编码规范
5.5.1JavaScript文件
JavaScript程序应独立保存在后缀名为.js的文件中。
JavaScript代码不应该被包含在HTML文件中,除非这是段特定只属于此部分的代码。
在HTML中的JavaScript代码会明显增加文件大小,而且也不能对其进行缓存和压缩。
filename.js应尽量放到body的后面。
这样可以减少因为载入脚本而造成其他页面内容载入也被延迟的问题。
也没有必要使用language或者type属性。
MIME类型是由服务器而非scripttag来决定的。
按照Web标准而言,建议指定type属性,并将<
script>
放到页面的<
标签中。
5.5.2缩进
缩进的单位为四个空格。
虽然使用空格会增加文件的大小,但在局域网中几乎可以忽略,且在最小化过程中也可被消除掉。
5.5.3每行长度
避免每行超过80个字符。
当一条语句一行写不下时,请考虑折行。
在运算符号,最好是逗号后换行。
在运算符后换行可以减少因为复制粘贴产生的错误被分号掩盖的几率。
5.5.4注释
请注释每一个方法,给以后需要理解你的代码的人们(或许就是你自己)留下信息是非常有用的。
注释应该和它们所注释的代码一样是书写良好且清晰明了。
偶尔的小幽默就更不错了。
记得要避免冗长或者情绪化。
及时地更新注释也很重要。
错误的注释会让程序更加难以阅读和理解。
让注释有意义。
重点在解释那些不容易立即明白的逻辑上。
不要把读者的时间浪费在
sCustId=0;
//客户标识
使用单行注释。
块注释用于注释正式文档和无用代码。
5.5.5变量声明
面向对象的Javascript,在需要使用变量的时候才定义变量,请参考Java编码规范中的变量声明。
在函数的首部定义所有的变量。
尽量减少全局变量的使用。
不要让局部变量覆盖全局变量。
5.5.6函数声明
所有的函数在使用前进行声明。
内函数的声明跟在var语句的后面。
这样可以帮助判断哪些变量是函数范围内的。
函数名与“(”(左括号)之间不应该有空格。
“)”(右括号)与开始程序体的“{”(左大括号)之间应入一个空格。
函数程序体应缩进四个空格。
“}”(右大括号)与声明函数的那一行代码头部对齐。
下面这种书写方式可以在JavaScript中正常使用,因为在JavaScript中,函数和对象的声明可以放任何表达式允许的地方。
且它让内联函数和混合结构具有最好的可读性。
如果函数是匿名函数,则在function和“(”(左括号)之间应有一个空格。
如果省略了空格,否则会让人感觉函数名叫作function。
尽量不使用全局函数。
5.5.7命名
变量名应由26个大小写字母(A..Z,a..z),10个数字(0..9),和“_”(下划线)组成。
避免使用际化字符(如中文),因为它们不是在任何地方都可以被方便的阅读和理解。
不要在命名中使用“$”(美符号)或者“\”(反斜杠)。
不要把“_”(下划线)作为变量名的第一个字符。
它有时用来表示私有变量,但实际上JavaScript并提供私有变量的功能。
如果私有变量很重要,那么使用私有成员的形式。
应避免使用这种容易让人误解命名习惯。
大多数的变量名和方法命应以小写字母开头,参考Java命名规范。
必须与new共同使用的构造函数名应以大写字母开头。
当new被省略时JavaScript不会有任何编错误或运行错误抛出。
忘记加new时会让不好的事情发生(比如被当成一般的函数),所以大写构造函名是我们来尽量避免这种情况发生的唯一办法。
全局变量应该全部大写。
(JavaScript没有宏或者常量,所以不会因此造成误会)
5.5.8语句
5.5.8.1简单语句
每一行最多只包含一条语句。
把“;
”(分号)放到每条简单语句的结尾处。
注意一个函数赋值或对象赋值语句也是赋值语句,应该以分号结尾。
JavaScript可以把任何表达式当作一条语句。
这很容易隐藏一些错误,特别是误加分号的错误。
只有在赋值和调用时,表达式才应被当作一条单独的语句。
5.5.8.2复合语句
复合语句是被包含在“{}”(大括号)的语句序列。
被括起的语句必须多缩进四个空格。
“{”(左大括号)应在复合语句其实行的结尾处。
“}”(右大括号)应与“{”(左大括号)的那一行的开头对齐。
大括号应该在所有复合语句中使用,即使只有一条语句,当它们是控制结构的一部分时,比如一个if或者for语句。
这样做可以避免以后添加语句时造成的错误。
5.5.8.3标示
语句标示是可选的,只有以下语句必须被标示:
while、do、for、switch。
5.5.8.4return语句释
一条有返回值的return语句不要使用“()”(括号)来括住返回值。
如果返回表达式,则表达式应与return关键字在同一行,以避免误加分号错误。
5.5.8.5if语句
if语句应如以下格式:
5.5.8.6for语句
for语句应如以下格式:
第一种形式的循环用于已经知道相关参数的数组循环。
第二种形式应用于对象中。
Object原型中的成员将会被包含在迭代器中。
通过预先定义hasOwnProperty方法来区分真正的object成员是个不错方法:
5
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 编码 规范 JAVAJSPv100
![提示](https://static.bdocx.com/images/bang_tan.gif)