Java编码规范.doc_第1页
Java编码规范.doc_第2页
Java编码规范.doc_第3页
Java编码规范.doc_第4页
Java编码规范.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java编码规范Java编码规范目 录一本文目的3二应用范围3三编码规范3四城管项目其他规范5修订历史记录日期版本说明作者2007年8月Louis一本文目的1 代码规范相当重要,代码规范提高软件代码的可读性,使得开发人员快速和彻底的理解新代码。2 好的代码风格不仅会提高可读性,而且会使代码更健壮,更为重要的是在修改时不容易出错。3 在现代软件开发中,维护工作会占用80%的时间,而且开发者和维护者通常不是同一个程序员,这意味着你经常要阅读和修改别人开发的程序,别人也同样可能需要阅读和修改你开发的程序。既然如此,为什么不把这利人利己的事情做好呢?4 一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。二应用范围本规范应用于采用J2EE规范的项目中,所有项目中的JAVA代码(含JSP,SERVLET,JAVABEAN,EJB)均应遵守这个规范。同时,也可作为其它项目的参考。目前本规范适用于使用Spring框架的Web项目,并先在苏州数字城管项目中实施。三编码规范1 Java包名全部小写。2 类名首字母大写其余每个单词的首字母大写。3 Java类中的方法名首字母小写其余每个单词的首字母大写, 第一个单词一般是动词。4 变量规范:a) 变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。 b) Static Final 变量的命名。c) Static Final 变量的名字应该都大写,并且指出完整含义。 d) 所有常量名均全部大写,单词间以_隔开。使用常数的地方尽量使用使用常量。e) 参数的名字必须和变量的命名规范一致。5 数组的命名:数组应该总是用下面的方式来命名:byte buffer; 而不是:byte buffer;6 缩进:a) 缩进应该是每行2个空格,不要在源文件中保存Tab字符。在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度。 7 页宽:页宽应该设置为80字符. 源代码一般不会超过这个宽度, 并导致无法完整显示, 但这一设置也可以灵活调整. 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进2个字符.8 对:a) 中的语句应该单独作为一行. 例如, 下面的第1行是错误的, 第2行是正确的: if (i0) i + ; / 错误, 和 在同一行 if (i0) i + ; / 正确 b) 语句永远单独作为一行. 语句应该缩进到与其相对应的 那一行相对齐的位置。9 括号:左括号和后一个字符之间不应该出现空格, 同样, 右括号和前一个字符之间也不应该出现空格。10 访问类的成员变量:大部分的类成员变量应该定义为 private或protected ,来防止继承类使用他们。11 在每一行里写一条语句,但不包括FOR语句。12 不要使用不推荐的API,随着JDK的升级,标记为DEPRECATED方法可能将不会再得到支持。13 为了保证可移植性: a) 尽量不要使用已经被标为不赞成使用的类或方法。 b) 如果需要换行的话,尽量用 println 来代替在字符串中使用n。 c) 用separator()方法代替路径中的”/”或” 。 d) 用pathSeptarator()方法代替路径中的 ” : ” 或 ” ;”14 Java注释:a) 版权信息、类的说明、作者及编码日期:版权信息及作者必须在 java 文件的开头,然后是类的说明,比如: /* * Copyright 2007 Jiangsu OceanSoft Information System Co. Ltd. * All right reserved. * CaseInfo.java:This class will describe the attributes of a case and provide the methods to * get and set these attributes.* Author:* Date:2007-8-2*/ 其他不需要出现在 javadoc 的信息也可以包含在这里。b) 如果有修改,则每次修改必须添加以下注释:/*Log编号:修改描述:作者:编写日期:*/其中,作者或修改者姓名必须是完整的中文姓名,不得是英文名或中文简称。例如:/* 作用:公司信息修改 作者:丁小军 日期:2004-4-20 修改1 作用:添加*功能 作者:丁小军 日期:2004-4-21 修改2 作用:修改*功能 作者:丁小军 日期:2004-4-22*/public class CompanyCreateEdit : System.Web.UI.Page/region 修改一/ 添加*功能private void Edit()/endregionprivate void btnOK(object sender, System.EventArgs e)/region 修改一/EditOld(); /这里是删除的旧代码Edit();/endregion/region 修改二Fix();/endregion在代码修改的地方加/region 和 /endregion,删除旧代码时不要彻底删除,做注释。c) 所有类中的方法是手工编写的代码必须有注释,系统自动生成的代码除外。d) Java类中对于public 或者 protected 级别的方法采用 “/* */”的方式进行注释,对于参数中使用到别的非JDK提供的类,需要使用“see”标记标注。e) Java类中对于private 级别的方法可以不进行注释,如果要使用注释可以采用 “/* */”| 或 “/”的方式。f) Java 类中的内部变量可以不进行注释,建议对关键的内部变量进行注释。g) Java 接口中的方法需要有比较详细的注释,采用“/* */”的方式进行注释,对于参数中使用到别的非JDK提供的类,需要使用“see”标记标注。四其他规范1 Java包名所有包名都以“域名” + “.” + “模块名”开头以城管为例,这里只是假设:例如:数字城管域名:“” 人员管理的模块名:“usermanager” 那么在设计“数字城管”的“人员管理”模块时的Java包名就是“.citymanager.usermanager”。“.citymanager.usermanager”是一个基础的包名,在这个包下应该还包括至少四个子项,分别是:a) pojo包:模块中涉及到对象的Java类,这些Java类对应与数据库中的一张或多张表。另外如果使用到Hibernate框架,那么对应得xml配置文件也在该包下出现。b) dao包:模块中涉及到对数据库操作的Java类或接口,DAO类中的操作不涉及到对数据库事物的处理。c) logic包:业务对象处理包,模块中涉及到的业务处理的逻辑都包含在该包下的Java类中,该包中Java类会包含一个或多个dao包中的接口,以实现在业务处理时对数据库的操作,该包下的Java类会将包含对数据库的事物处理。d) web包:所有web上涉及请求于提交操作的Java类对象,例如Spring MVC框架中的Controller

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论