命名规范
使用匈牙利表示法
Package 的命名
Package 的名字应该都是由一个小写单词组成。
package com.neu.util
Class 的命名
Class的名字必须由大写字母开头而其他字母都小写的单词组成,对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。
public class ThisAClassName{}
Class 变量的命名
变量的名字必须用一个小写字母开头。后面的单词用大写字母开头
userName , thisAClassMethod
Static Final 变量的命名
static Final 变量的名字应该都大写,并且指出完整含义。
/**
*DBConfig PATH
**/
public static final String
DB_CONFIG_FILE_PATH ="com.neu.etrain.dbconfig";
参数的命名
参数的名字必须和变量的命名规范一致。
数组的命名
数组应该总是用下面的方式来命名:
byte[] buffer;而不是:byte buffer[];
方法的参数
使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:
SetCounter(int size)
{ this.size = size; }
注释规范
定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。
// 注释一行
/* ...... */ 注释若干行
/** ...... */ 注释若干行,并写入 javadoc 文档
注释要简单明了。
String userName = null; //用户名
边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。
对代码的注释应放在其上方相邻位置,不可放在下面。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。
变量、常量的注释应放在其上方相邻位置或右方。
全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
在每个源文件的头部要有必要的注释信息.
包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。
/**
* Copy Right Information : Neusoft IIT
* Project : eTrain
* JDK version used : jdk1.3.1
* Comments : config path
* Version : 1.01
* Modification history :2003.5.1
* Sr Date Modified By Why & What is modified
* 1. 2003.5.2 Kevin Gao new
**/
在每个函数或过程的前面要有必要的注释信息.
包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等
/**
* Description :checkout 提款
* @param Hashtable cart info
* @param OrderBean order info
* @return String
*/
public String checkout(Hashtable htCart,
OrderBean orderBean)
throws Exception{
}
javadoc注释标签语法
@author 对类的说明 标明开发该类模块的作者
@version 对类的说明 标明该类模块的版本
@see 对类、属性、方法的说明 参考转向,也就是相关主题
@param 对方法的说明 对方法中某参数的说明
@return 对方法的说明 对方法返回值的说明
@exception 对方法的说明 对方法可能抛出的异常进行说明
代码编写格式
代码样式
代码应该用 unix 的格式,而不是 windows 的(比如:回车变成回车+换行)
文档化
必须用 javadoc 来为类生成文档。不仅因为它是标准,这也是被各种 java 编译器都认可的方法。使用 @author 标记是不被推荐的,因为代码不应该是被个人拥有的。
缩进
缩进采用Tab字符. 良好的缩进可以帮助区分代码的层次
{} 对
{} 中的语句应该单独作为一行. 例如, 下面的第1行是错误的, 第2行是正确的:
if (i>0)
{ i ++ }// 错误,
{ 和 }在同一行
if (i>0)
{ i ++ ;
}// 正确,
{ 单独作为一行 }
{语句永远单独作为一行.
如果 } 语句应该缩进到与其相对应的 { 那一行相对齐的位置。
括号
左括号和后一个字符之间不应该出现空格, 同样, 右括号和前一个字符之间也不应该出现空格. 下面的例子说明括号和空格的错误及正确使用:
CallProc( AParameter ); // 错误
CallProc(AParameter); // 正确
不要在语句中使用无意义的括号. 括号只应该为达到某种目的而出现在源代码中。下面的例子说明错误和正确的用法:
if ((I) = 42) { // 错误 - 括号毫无意义
if (I == 42) or (J == 42) then // 正确 - 的确需要括号
在复杂语句中尽量采用括号,免除对运算符优先级的判断
if((!a.equals("aaa"))&&(!b.equals("bbb"))
可读性
避免使用不易理解的数字,用有意义的标识来替代。
此时可以在modle类,action,或者util帮助类中定义常量并添加注释。主要看作用范围决定添加在何处
不要使用难懂的技巧性很高的语句。
宁可多写几行代码,不考虑效率
源程序中关系较为紧密的代码应尽可能相邻。
排版规范
关键词和操作符之间加适当的空格
相对独立的程序块与块之间加空行
较长的语句、表达式等要分成多行书写
划分出的新行要进行适应的缩进,使排版整齐,语句可读
循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分
若函数或过程中的参数较长,则要进行适当的划分
不允许把多个短语句写在一行中,即一行只写一条语句
函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格
编程技巧
防止 String sss = new String("ssss"),正确的为 String sss = "sss";
对于对象变量,最好在定义时赋初始值 例如 User user = null;
在进行循环操作时尽量减少运算
int size = userList.size();
int tag = 0;
while(0<size)
利用StringBuffer 来代替String 的加操作
对于自增减操作书写格式为 i += 3;不必写成 i = i+3;
等号两边留有空格。
提倡break的使用,当循环得到结果,应该及时终止无畏的循环操作
while(0<size){ if(user.name.equals("luck"){ ..... breck; }
}
当程序段得到正确结果时,不必等到代码结束才返回
if(user == null)
{ ..... return; }
else{ }
集合变量定义遵循如下规律,能在名称上体现它的基本类型
数组 xxxxArray
List xxxxList
在多个if分支,并且判断条件是整数时,建议使用switch语句来实现
在输出日志时,用logging而不是println
小心对待多态问题,只有在确定方法内部实现一致,仅仅是传入参数不同时才可使用同一方法名称
例如 按照id取得User
getUser(Long id)
getUser(User user)
如果第二个内部还判断了orgId,则应该变方法名称getUserByIdAndOrg
方法类与属性定义上,尽量做到明尽其意,如上面getUserByIdAndOrg
分享到:
相关推荐
尤其是在早期的功能手机时代,Java的MIDP(Mobile Information Device Profile)规范成为了开发移动应用程序的标准之一。通过Java ME平台,开发者可以创建跨平台的手机应用,包括游戏。 ### 2. Java游戏开发环境...
在J2EE 1.4时代,开发者需要编写大量的XML配置文件,如ejb-jar.xml和web.xml,来描述应用的组件和行为。但在Java EE 5中,许多部署信息可以直接通过代码中的标注来声明,减少了出错的可能性,同时也提高了开发效率。...
字节码的执行需要经过三个步骤,首先由类装载器负责把类文件加载到 Java 虚拟机中,在此过程需要检验该类文件是否符合类文件规范;其次字节码校验器检查该类文件的代码中是否存在着某些非法操作,例如 applet 程序中...
学生社团管理系统是信息化时代校园管理的重要组成部分,它有助于规范社团活动、提升管理效率。本文将详细介绍一个使用Java Swing作为前端界面,结合JDBC进行数据库操作,以及MySQL作为后台存储系统的社团管理系统。...
1998年,JDK1.2的发布标志着Java 2时代的开启,进一步划分为了Java SE、Java EE和Java ME三大平台,适应了不同领域的计算需求。 Java语言的特点之一是其简单性,它借鉴了C++的语法,但去除了如指针和内存管理等复杂...
在深入学习阶段,《Java虚拟机规范》(James Gosling等)可以帮助读者理解Java运行时环境的内部工作原理,而《深入理解Java虚拟机》(周志明)则以更通俗易懂的方式解析了JVM。对于框架和高级技术,如Spring或Hibernate...
无论是编写中间码、安装中间码还是检查编码的正常性,JAVA都能够提供一个有序且稳定的操作平台,支持开发者在多种不同的硬件和操作系统上进行软件开发,从而拥有广泛的市场应用。 灵活性和有效性是JAVA语言在软件...
1995年,Oak被重新命名为Java,Sun Microsystems在当年的SunWorld会议上正式发布了Java和HotJava浏览器,这标志着Java正式进入了互联网时代。Java技术的推广迅速吸引了众多科技巨头的注意,包括Netscape、Oracle、...
JAVA6引入了Servlet 3.0规范,提供了更方便的注解配置,使得Web应用部署和管理更加简洁。此外,JSP 2.2版本也提供了EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library),简化了页面逻辑的...
随着互联网的快速发展,Java 成为了网络时代的主流编程语言之一。Sun 公司为了实现这一目标,推出了Java 运行平台的三个主要版本:J2SE(Java Standard Edition)、J2EE(Java Enterprise Edition)和J2ME(Java ...
它具有良好的结构性和规范性,编写出来的程序容易理解,而且具有良好的可维护性。Java语言的语法规则定义了一套编写Java程序的标准和约定,程序员需要遵循这些规则来编写代码,使得计算机能够理解和执行。Java编程的...
Java编程语言被广泛应用于互联网的分布式环境中,它支持跨平台的操作,这意味着开发者可以利用Java编写一次应用程序,然后在不同操作系统和硬件配置的计算机上部署运行。Java语言的这一特点,为软件开发人员提供了极...
7. **可移植性**:由于Java的“一次编写,到处运行”特性,基于Java的工作流系统可以在不同的操作系统和硬件平台上运行,这对于企业的IT基础设施具有很高的灵活性。 在实际应用中,Java工作流解决方案可以广泛应用...
- **文档编写**:编写详细的项目文档,包括需求分析、设计文档、用户手册等。 以上是基于JAVA的ATM项目的主要知识点。通过这个项目,学生可以全面了解并应用Java编程,以及软件工程的各个方面,提升实际开发能力。
在1998年,JDK1.2的发布标志着Java 2时代的到来,Java被划分为Java Standard Edition(SE)、Java Enterprise Edition(EE)和Java Micro Edition(ME),分别对应桌面应用、企业级应用和嵌入式设备。这使得Java在...
JAVA语言由Sun Microsystems公司于1995年推出,其设计初衷是为了适应网络时代的需求,实现一次编写,到处运行(Write Once, Run Anywhere)的理念。JAVA的发展历程经历了多个版本的更新,包括JDK 1.0至当前的JDK 17...
在微信小程序端,开发者会使用微信开发者工具,遵循微信小程序的开发规范,编写WXML(结构语言)和WXSS(样式语言)来定义页面结构和样式,以及JavaScript来处理业务逻辑和数据绑定。微信小程序还支持自定义组件,...
Java这个名字具有强烈的全球性和动态感,更符合互联网时代的特征。随着Java技术的不断成熟和改进,1995年,Sun公司正式发布了Java 1.0版本,其跨平台、一次编写,到处运行的特性得到了广泛的认可。Java的虚拟机(JVM...
IDE如JBuilder和Eclipse,为Java开发提供了集成的编写、调试和测试环境,提高了开发效率。它们通常包含项目管理、代码编辑、编译、调试和版本控制等功能。 2.3 Project管理 在Java开发中,Project是组织和管理代码...