J2EE 工作中注意事项

【转载于http://www.cnblogs.com/hemingwang0902/archive/2012/01/06/2314215.html

根据当前项目中代码存在的一些问题,编写了一个编码注意事项。这些注意事项都是针对自己当前实施的项目的代码提出来的,并不作为项目的编码规范,仅为项目组成员提供参考。

1. 所有源文件(包括 .java、.jsp、.properties、.html、.js、.css、.xml、.txt等)统一使用 UTF-8 编码。

2. 每天上班时,从 SVN 获取最新代码;下班前,必须将测试通过的功能模块代码提交至 SVN 版本库。提交至SVN的代码必须是完整的!

1. JAVA

1. 类和方法的命名必须具有实际意义,命名风格必须保持一致,禁止使用中英混搭(尽量使用英文,而非汉语拼音)。

2. 禁止硬编码,项目中经常用到的且在整个项目开发、运行过程中始终不会修改的值,可以作为java常量统一定义在一个常量接口中;如果在项目开发、运行过程中可能会需要进行修改的值(如数据库的配置信息),则必须定义在配置文件中。

3. 对于 I/O 流对象JDBC操作数据库的对象Socket 对象LDAP连接对象JMS连接对象等,在使用完成时,必须在 finally 块中将其关闭。如果是在循环体中声明的,则必须在循环体中关闭。(谁声明,谁管理)。

4. 编译级别在 jdk 1.5 以上的系统,在开发时集合类建议使用泛型,以免程序中到处都是警告。

5. 尽量避免在http session 中存放大对象,尤其是很大的集合对象。

6. 通过JDBC操作数据库的时候,能够通过一条 SQL 语句完成的功能,尽量避免使用多条 SQL 分开执行,如果同时执行多条 DML 语句,则必须开启事务,保证数据的完整性。对于需要传入参数的操作,为了防止SQL注入,必须使用 java.sql.PreparedStatement,而不能使用 java.sql.Statement。

7. 很多类都需要使用到的方法,尽量提取到 *Util 类中,而不要在每个用到该方法的类中都定义一次;如果只是少数几个同种类型的类共用的方法,则可以考虑将其提取到父类中。

8. 常用的字符串数字日期数组操作,应当尽量使用 apache-commons-lang.jar 中的方法;常用的I/O操作,应当尽量使用 apache-commons-io.jar 中的方法,而不要自己再另外去定义了。

9. Servlet或Action返回 json 格式的数据时,切莫手动拼接 json 格式的字符串,而应该直接使用 json-lib.jar 中的相关类进行操作。

10. 程序中禁止出现 System.out.println...的语句,应该使用 logger.debug 或 logger.info 代替;e.printStackTrace();则应该使用 logger.warn(e) 或logger.error(e) 代替。

11. 对于代码中的 // TODO 标记语句,在完成了该任务的代码编写后,应当及时删除。

12. 如果一个类有成对的操作时,方法的命名一定要注意相对应,常见的方法命名对应关系有: 
add-->remove、insert-->delete、put-->get、create-->drop、init-->destroy、open-->close、start-->stop、begin-->end、first-->last、next-->previous、up-->down、send-->receive、lock-->unlock、show-->hide

2. JSP

1. 多个页面共用的部分(如:页头和页脚)应该提取为单独的 jsp 文件,然后在各个使用到该部分代码的页面用 <%@taglib inclue ...%> 将对应的代码包含进来。

2. 引入其他 jsp 文件的时候,尽量使用指令引入,如果需要动态的传入参数,才考虑使用 jsp 动作进行引入。

3. 能用 EL 表达和 jsp 标签实现的,尽量避免使用 <% %> 这样的Java脚本代码。

4. jsp 文件中引入 java 类的时候,为了提高代码的可读性,尽量每引入一个类单独占用一行。

3. HTML

1. 每个HTML页面的第一行必须为 DOCTYPE 声明,告知浏览器解析CSS的模式,以免页面在各个浏览器中显示的效果不一样。

2. 尽量使用 DIV 进行布局,而不要使用 Table 嵌套 Table 的形式进行页面布局。

3. 给Table、TD等元素指定宽度和高度时,应该使用样式进行指定,而不是使用元素的 width 和 height 属性进行指定。

4. 页面内元素的嵌套必须为一一对应。

5. 给元素内的文字内容的四周添加空白区域禁止使用 &nbsp; 和 <br>,而应该改为使用元素的 padding 样式进行控制。

4. JavaScript

1. 共用的 js 片段必须提取为单独的方法。

2. 多个页面共用的 javascript 方法必须提取为单独的 js 文件,禁止在每个页面中写一个相同方法。

3. 方法和变量的命名必须有实际意义,禁止命名为类似于 aaa、bbb 的名称。

4. 页面加载完成后马上执行的方法,尽量避免使用 <body > 和 window.onload=function(){} 的形式,应该改为使用 jQuery(document).ready(function(){}); 的形式。

5. 尽量避免在同一个页面或同一个 js 文件中同时使用原生的 js 和 jQuery 对页面元素进行操作。

5. CSS

1. 多个页面共用的样式,必须提取为单独的 css 文件。

2. css 文件中的样式类名称必须有实际意义,禁止使用类似于STYLE1、STYLE2 的名称进行命名。

3. css文件中止使用 tagName tagName (如 div div) 这样的选择器,应该将其改为 #id tagName或 .class tagName 这样的形式。

4. css 文件中选择器的排序:元素选择器 –> 类选择器 –> id选择器

时间: 2024-08-27 13:59:29

J2EE 工作中注意事项的相关文章

血的教训---工作中注意的事项(未完)

工作中注意的事项 1. 千万不要执行:yum -y remove python 或者 rpm -e python --nodeps 因为yum是使用python编写的,如果把python卸载了,则yum将不能再继续使用了 如果想自己编译安装新版本的python,也千万不要卸载掉centos自带的python,不用管它就好 2. 千万不要执行:iptables -F 因为如果你的filter表中的INPUT链默认的规则是所有的请求都拒绝的话,就完了 [[email protected] ~]# i

站长探讨之说说SEO在网站编辑工作中的运用

关于SEO知识在网站编辑工作当中的运用的这类知识,我百度了一下,几乎很少,因此我决定对这方面的知识点在我的SEO博客中做一个整理,希望大家能够给予宝贵的意见. 一.Html常用标签 对于网站编辑所需要涉及到的标签有:Title.Description.Keywords.H标签.Alt标签,现在这里简单的介绍一下,后面会有更加具体的使用方法. 1.TDK标签 Title,也就是文章标题 Description,即网站描述 Keywords,即网站关键词 TDK标签.jpg 不用多说,TDK三个标签

Java在J2EE工程中路径寻址问题终极解决方案

前言 Java的路径问题,非常难搞.最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题. Java路径 Java中使用的路径,分为两种:绝对路径和相对路径.具体而言,又分为四种: 一. URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b URL是URI的特例.URL的前缀/协议,必须是Java认识的.URL可以打开资源,而URI则不行. URL和URI对象可以互相转换,使用各自的to

工作中敏捷开发流程梳理

接触敏捷开发差不多一年了,对它也有了一些自己浅显的认识,写这篇文章来给自己梳理梳理工作中的敏捷开发流程. 迭代周期 工作中根据项目普遍任务的耗时,采用10个工作日作为1个迭代周期,包括迭代计划会议.迭代开发和迭代回顾会议 迭代任务 迭代任务通常在feature到task的级别,任务主要由以下几个方面来产生:产品功能开发计划.产品功能研究计划.测试提交的上轮迭代未解决的bug和客户反馈的产品问题 1)     开发任务由产品专员在上一轮迭代中确定产品功能点,并产出功能设计文档,由开发在本轮迭代完成

在j2ee开发中影响性能的原因以及相关处理性的建议

java是现在比较流行的软件开发语言,同时也是互联网应用中安全性相对较高的一种开发语言了.被很多的电子金融系统开发企业以及电子商务网站建设企业所看重.虽然说在如今的互联网开发中,它比较有优势,然而用得不当的话,反而会使电子商务网站建设的性能受到影响.电子商务网站建设企业,就从多年的java商城开发中说说影响java商城系统和jsp商城效率的原因.    1.缺乏正确的容量规划    容量规划是一个全面的和发展的过程标准,预测当前和未来的IT环境容量需求.制定合理的容量规划不仅会确保和跟踪当前IT

工作中的程序员如何进阶

前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用. 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样. 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节. 一定要学会思考,思考为什么要这样,

[工作中的设计模式]享元模式模式FlyWeight

一.模式解析 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意.享元模式是对象的结构模式.享元模式以共享的方式高效地支持大量的细粒度对象. 享元模式:主要为了在创建对象时,对共有对象以缓存的方式进行保存,对外部对象进行单独创建 模式要点: 1.享元模式中的对象分为两部分:共性部分和个性化部分,共性部分就是每个对象都一致的或者多个对象可以共享的部分,个性化部分指差异比较大,每个类均不同的部分 2.共性部分的抽象就是此模

openstack运维手册(个人实际工作中整理)

openstack运维手册,是本人在实际工作中整理的,现分享!!!因水平有限,欢迎广大朋友指正.具体文档见附件.

软件测试工程师工作中常用的Linux命令

Linux系统有着众多的优点,比方开源.非商业版本免费.多任务多用户操作,因而Linux系统在非桌面范畴占有压倒性的市场份额.关于互联网技术工作者来说,控制常用的Linux命令也是一门必修课.下面罗列一些笔者在工作中常用的Linux命令. cd 切换目录 cd .. 返回上一层目录 cd . 进入当前目录 cd - 返回前一次的目录,即上一次的目录不是上一层目录 ls 查看文件与目录 用法: ls [参数][文件] 参数: ls –l 显示文件的权限和属性 ls –a 列出所有的文件,包含隐藏文