JAVA程序编写规范

转载 2006年05月25日 22:14:00

 

  • exit()
    exit 除了在 main 中可以被调用外,其他的地方不应该调用。因为这样做不给任何代码代码机会来截获退出。一个类似后台服务地程序不应该因为某一个库模块决定了要退出就退出。
  • 异常
    申明的错误应该抛出一个RuntimeException或者派生的异常。
    顶层的main()函数应该截获所有的异常,并且打印(或者记录在日志中)在屏幕上。
  • 垃圾收集
    JAVA使用成熟的后台垃圾收集技术来代替引用计数。但是这样会导致一个问题:你必须在使用完对象的实例以后进行清场工作。比如一个prel的程序员可能这么写:

    	...
    	{
    		FileOutputStream fos = new FileOutputStream(projectFile);
    		project.save(fos, "IDE Project File"); 
    	}
    	...
    
    除非输出流一出作用域就关闭,非引用计数的程序语言,比如JAVA,是不能自动完成变量的清场工作的。必须象下面一样写:

    	FileOutputStream fos = new FileOutputStream(projectFile);
    	project.save(fos, "IDE Project File"); 
    	fos.close();
    
  • Clone
    下面是一种有用的方法:

      implements Cloneable
    
      public
        Object clone()
        {
          try {
            ThisClass obj = (ThisClass)super.clone();
            obj.field1 = (int[])field1.clone();
            obj.field2 = field2;
            return obj;
          } catch(CloneNotSupportedException e) {
            throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());
          }
      }
    
  • final 类
    绝对不要因为性能的原因将类定义为 final 的(除非程序的框架要求)
    如果一个类还没有准备好被继承,最好在类文档中注明,而不要将她定义为 final 的。这是因为没有人可以保证会不会由于什么原因需要继承她。
  • 访问类的成员变量
    大部分的类成员变量应该定义为 protected 的来防止继承类使用他们。
    注意,要用"int[] packets",而不是"int packets[]",后一种永远也不要用。

    	public void setPackets(int[] packets) { this.packets = packets; }
    
    	  CounterSet(int size)
    		{
    		  this.size = size;
    		}
    

排版规范

  1. 关键词和操作符之间加适当的空格。
  2. 相对独立的程序块与块之间加空行
  3. 较长的语句、表达式等要分成多行书写。
  4. 划分出的新行要进行适应的缩进,使排版整齐,语句可读。
  5. 长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
  6. 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
  7. 若函数或过程中的参数较长,则要进行适当的划分。
  8. 不允许把多个短语句写在一行中,即一行只写一条语句。
  9. 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
  10. C/C++语言是用大括号‘{’和‘}’界定一段程序块的,编写程序块时‘{’和 ‘}’应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体 的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、 switch、case语句中的程序都要采用如上的缩进方式。

注释规范

定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)。

 

Java 的语法与 C++ 及为相似,那么,你知道 Java 的注释有几种吗?是两种?   

// 注释一行  

/* ...... */ 注释若干行

不完全对,除了以上两种之外,还有第三种,文档注释:   

/** ...... */ 注释若干行,并写入 javadoc 文档

  1. 注释要简单明了。

    String userName = null; //用户名

  2. 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
  3. 在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防
    止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。
  4. 对代码的注释应放在其上方相邻位置,不可放在下面。对数据结构的注释应放在
    其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;
    同一结构中不同域的注释要对齐。
  5. 变量、常量的注释应放在其上方相邻位置或右方。
  6. 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以
    及存取时注意事项等的说明。
  7. 在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日
    期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文
    件关系等);主要函数或过程清单及本文件历史修改记录等。

    /** * 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 **/

  8. 在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描
    述;输入、输出及返回值说明;调用关系及被调用关系说明等

    /** * Description :checkout 提款 * @param Hashtable cart info * @param OrderBean order info * @return String */ public String checkout(Hashtable htCart, OrderBean orderBean) throws Exception{ }

  9. javadoc注释标签语法

    @author 对类的说明 标明开发该类模块的作者 @version 对类的说明 标明该类模块的版本 @see 对类、属性、方法的说明 参考转向,也就是相关主题 @param 对方法的说明 对方法中某参数的说明 @return 对方法的说明 对方法返回值的说明 @exception 对方法的说明 对方法可能抛出的异常进行说明


Java程序编写规范

1、java源程序结构      一个完整的java源程序应该包括下列部分:   package语句;                      //该部分至多只有一句,必须放在源程序的第一句 ...

java程序编写规范

一、代码行长度和折行规则 1、java的代码行长度应该小于80个字符 2、折行规则:     (1)在逗号后折行     (2)在运算符前折行     (3)高层折行优于低层折行(即优先考虑...

Java程序的编码规范

所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。一、命名规...

编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理

原创地址:http://www.cnblogs.com/Alandre/(泥沙砖瓦浆木匠),需要转载的,保留下! 文章宗旨:Talk is cheap show me the code. 大成若缺,...

编写高质量代码:改善Java程序的151个建议-学习笔记(1-4章)

java中通用的方法和准则 1.不要让常量和变量中出现易混淆的字母 比如: long i = 1l; 别人很难一下子看清楚是11还是1l,所以应该这样写1L。 命名规范: 1.包名全部小写...
  • Vikisss
  • Vikisss
  • 2017年06月16日 18:06
  • 161

《编写高质量代码:改善Java程序的151个建议》 建议11

11. 养成良好习惯,显示声明UID
  • Yokeqi
  • Yokeqi
  • 2014年10月25日 23:39
  • 289

简单使用Eclipse编写第一个Java程序

eclipse是很常用的java ide,至少我们学校教java都是用这个。下载就不多说了,同学们直接从老师那里下载eclipse.rar,随便解压就可以使用了,不过为了方便,还是建议大家将eclip...

1.3—一个典型的JAVA程序的编写和运行过程

 JAVA语言应用范围 • 桌面应用编程 • WEB客户端编程 • WEB服务器编程 • 手机编程 • 机器人编程  第一个JAVA程序 JAVA开发环境搭建 • 下...

编写高质量代码--改善Java程序的151个建议

声明:本文只是把秦小波所著《编写高质量代码--改善Java程序的151个建议》一书的目录贴出来,相当于整个大纲,就好比武功心法,版权归属秦小波。 1. Java开发中通用的方法和准则...

Tiling(POJ--2506【用文件编写java程序】

Description In how many ways can you tile a 2xn rectangle by 2x1 or 2x2 tiles? Here is a sample til...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA程序编写规范
举报原因:
原因补充:

(最多只允许输入30个字)