JAVA编码规范.docx

上传人:b****6 文档编号:8507936 上传时间:2023-01-31 格式:DOCX 页数:14 大小:324.44KB
下载 相关 举报
JAVA编码规范.docx_第1页
第1页 / 共14页
JAVA编码规范.docx_第2页
第2页 / 共14页
JAVA编码规范.docx_第3页
第3页 / 共14页
JAVA编码规范.docx_第4页
第4页 / 共14页
JAVA编码规范.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

JAVA编码规范.docx

《JAVA编码规范.docx》由会员分享,可在线阅读,更多相关《JAVA编码规范.docx(14页珍藏版)》请在冰豆网上搜索。

JAVA编码规范.docx

JAVA编码规范

 

JAVA&JSP编码规范

 

2009-12-10

1.背景-2-

2.规范实施意义-2-

3.文档使用说明-2-

4.JAVA编码规范-2-

4.1.格式规范-2-

4.2.命名规范-4-

4.3.注释规范-5-

4.4.其他规范-8-

5.JSP编码规范-9-

6.网络上提供的优化WEB性能的方法-15-

1.背景

编码规范是一个项目中沟通的潜规则,作为开发规范的一部分,是十分重要的。

它不仅仅提高了开发效率,同时也减少了维护成本。

编码规范主要是方便开发人员和测试人员能够很容易的阅读代码,了解代码的用途和意义,减少对代码理解的歧义。

2.规范实施意义

不是为了规范儿规范,目的是提高软件产品的质量和代码的课阅读性,可维护性。

推荐大家使用IDE环境自带的格式化工具和配置,以提高实施效率。

在初期实施阶段可能大家有些不适应甚至抵触情绪,请大家理解。

代码的品质要有所保证,就必须逐步规范。

严格要求自己的代码规范,对大家的技术水平提高以及尊重代码艺术和对工作的严谨态度都是有意义的。

3.文档使用说明

文档中的截图是在MyEclipse下的截图,由于是初次制定类似的规范,随着以后工作的不断深入,此文档会进一步更新和完善。

4.JAVA编码规范

4.1.格式规范

1、缩进:

使用Tab键缩进,设置方法如下:

图41

2、行长度:

每行不超过120字符

图42

3、变量声明

一行只声明一个变量或者常量,并且要有相应的注释说明。

在代码块的开始出声明变量,不推荐在首次使用的时候申明。

4、语句

推荐大家使用eclispe自带的Format方法。

(Ctrl+Shift+F)。

注意if语句一定要使用“{”,“}”括起来,即使只有单行语句。

4.2.命名规范

1、类名、变量、方法

类名首字母应该大写。

属性(成员变量)、方法、对象变量以及所有标识符(如形式参数、实际参数、局部变量)的首字母应小写,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。

例如:

类名:

ThisIsAClassName

属性或方法名:

thisIsMethodOrFieldName

对象变量:

thisIsAClassVariable

2、包

Java包(Package)属于一种特殊情况,它们全都是小写字母,即便中间的单词亦是如此。

例如:

com.ccid.app.action

对于全局包,将你的Internet域名反转并接上包名,另外,package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。

如果import行中包含了同一个包中的不同子目录,尽量不要用*来处理。

(import越多越会影响效率)

例如:

packagecom.ccid.app;

importjava.io.InputStream;

importjava.io.OutputStream;

importjava.util.Observable;

importhotlava.util.Application;

3、方法

类的获取方法一般在被访问的对象首字母大写之后加前缀get。

布尔型的加前缀is。

类的设置方法一般在被设置的对象首字母大写之后加前缀set。

类的普通方法推荐使用动宾式,如:

saveObject()。

main()方法一般是辅助测试使用的一半放到代码的最后。

5、变量

(1)、静态变量使用全部大写,单词直接使用下划线分割,如:

staticfinalStringSYS_PATH="XX";

(2)、复数变量使用-s结束

(3)、循环变量才有简单的i、j、k、counter、index之类。

(9)、变量名称长度不要超过32字符

4.3.注释规范

1、类名注释格式及设置方法

2、方法注释

3、行注释

使用//…的注释方法来注释需要表明的内容。

并且把注释的内容放在需要注释的代码的前面一行或同一行。

4、块注释

使用/**和*/注释的方法来注释需要表明的内容。

并且把注释的内容放在需要注释的代码的前面。

5、无效代码注释:

推荐使用ctrl+/

6、变更别人代码,或者测试对应代码注释

4.4.其他规范

1、提交到SVN或者CVS上的代码不能含有system.out.print(),明确的无用代码必须删除和多余的空行。

2、使用StringBuff处理字符串的链接代替+。

3、使用Listlist=newArrayList()代替ArrayListlist=newArrayList(),尽可能使用接口类。

4、避免太多的使用synchronized关键字:

避免不必要的使用关键字synchronized,应该在必要的时候再使用它,这是一个避免死锁的好方法。

必须使用时,也尽量控制范围,最好在块级控制。

5、注意体会以下代码

6、多使用泛型

如:

Listlist=newArrayList()代替Listlist=newArrayList()

一般在eclispe中有黄色灯泡的地方都是警告的地方,可以根据提示做适当修正。

5.JSP编码规范

1、JSP中尽量不要使用java代码。

2、声明正确的文档类型(doctype设定)

doctype被许多人忽视,但在遵循标准的任何Web文档中,它都是一项必需的元素。

doctype会影响代码验证,并决定了浏览器最终如何显示你的Web文档,也可以规范我们JSP代码的书写。

推荐使用:

DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"

http:

//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>

HTML5将采用标准的XML语法格式,这对代码的规范要求非常高。

所以推荐使用以上doctype

3、ServletOutputStream与PrintWriter的权衡:

使用PrintWriter可能会带来一些小的开销,因为它将所有的原始输出都转换为字符流来输出,因此如果使用它来作为页面输出的话,系统要负担一个转换过程。

而使用ServletOutputStream作为页面输出的话就不存在一个问题,但它是以二进制进行输出的。

因此在实际应用中要权衡两者的利弊。

4、标记关闭规范,标记全部小写,所有元素的属性值都要有双引号。

即使是br、hr之内的单标记也推荐写成
/


5、JSP的注释一定要使用<%--注释内容--%>不要使用

--不推荐注释-->原因:

在查看浏览页面源码的时候后者是可以查看到的,前者看不到。

6、Tab缩进替代空格缩进,以减少字符数量缩小页面,加快传输和编译速度。

7、使用H1–H6标签

网页中使用其中全部六种标记,虽然大部分人只会用到前四个,但使用最多的H会有很多好处,比如设备友好、搜索引擎友好等,不妨把你的P标签都替换成H6。

如果是博客,那把H1留给文章标题。

8、使用UL列表布局导航菜单代替div或者table

9、对于table只能在td直接添加内容,没有内容必须使用 填充,以避免

边框缺失。

禁止在非数据填充区写隐藏项目。

划红线的地方写法都是不合法的,以上代码显示效果如下:

10、在页head标签中引入所有的样式表文件、在页面底部引入JavaScript文件(预加载的除外)这些文件最好是合并并压缩,以减少request的请求次数和byte数。

11、重新定义链接标签a:

link,a:

visited,a:

hover,a:

actived的排列顺序一定不能颠倒和缺失。

(自己没有验证,以前同事告诉我的)

12、建议使用eclispe自动的工具验证JSP的页面是否正确。

使用ySlow+firebug测试自己的每个页面。

或者其他工具诸如GoogleWebTools。

13、为所有的图片加上Alt属性,在Firefox下使用title。

14、以后的页面推荐使用jQuery库,不要自己动手写js操作DOM,避免造成不同浏览器兼容性错误。

15、尽可能的不要使用CSSexpressions

16、不使用frame和frameset,同时由于HTML5不再支持,考虑到向后的兼容性,不推荐使用。

17、HTML5更新后与HTML4的一些对比和html即将要删除的元素和要移除的属性不要使用。

Html5移除的元素:

纯表现的元素:

basefont,big,center,font,s,strike,tt,u;

对可用性产生负面影响的元素:

frame,frameset,noframes;

产生混淆的元素:

acronym,applet,isindex,dir。

移除的属性:

a,area,button,input,label,legend和textarea元素的accesskey属性;

link和a元素的rev和charset属性;

a元素的shape和coords属性;

img和iframe元素的longdesc属性;

link元素的target属性;

area元素的nohref属性;

head元素的profile属性;

html元素的version属性;

map,img,object,form,iframe,a元素的name(useidinstead)属性;meta元素的scheme属性;

object元素的archive,classid,codebase,codetype,declare和standby属性;

param元素的valuetype和type属性;

script元素的charset和language属性;

table元素的summary属性;

td和th元素的headers,axis和abbr属性;

td元素的scope属性;

caption,iframe,img,input,object,legend,table,hr,div,h1,h2,h3,h4,h5,h6,p,col,colgroup,tbody,td,tfoot,th,thead,tr和body元素的align属性;

body元素的alink,link,text和vlink属性;

body元素的background属性;

table,tr,td,th和body元素的bgcolor属性;

table,img和object元素的border属性;

table元素的cellpadding和cellspacing属性;

col,colgroup,tbody,td,tfoot,th,thead和tr元素的char和charoff属性;

br元素的clear属性;

dl,menu,ol和u元素的compact属性;

6.网络上提供的优化WEB性能的方法

1.尽可能的减少HTTP的请求数

2.使用CDN(ContentDeliveryNetwork)

3.添加Expires头(或者Cache-control)

4.Gzip组件

5.将CSS样式放在页面的上方

6.将脚本移动到底部(包括内联的)

7.避免使用CSS中的Expressions

8.将JavaScript和CSS独立成外部文件

9.减少DNS查询

10.压缩JavaScript和CSS(包括内联的)

11.避免重定向

12.移除重复的脚本

13.配置实体标签(ETags)

14.使AJAX缓存

最近Yahoo!

ExceptionalPerformance在《优化网站性能的14条规则》的基础上又增加了20条新的规则。

1.尽早清除缓冲区

2.AJAX请求使用“GET”方法

3.延迟加载组件

4.预加载组件

5.减少DOM元素的数量

6.跨域分离组件

7.减少iframes的数量

8.不出现404

9.减小cookie的体积

10.为组件使用cookie-free的域名

11.减少访问DOM的次数

12.开发巧妙的事件处理程序

13.优先选择使用而非@import

14.避免使用filters

15.优化图片

16.优化CSSsprites

17.不要在HTML中缩放图片

18.减小favicon.ico的体积并缓存

19.保持组件在25K以下

20.将组件分拆到多个文档中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1