软件开发规范(3)

2008-05-24 05:34:03.0     浏览:197     来源:天新网
关键词:

软件开发规范(3)

u 代码块书写格式

可以选择以下任意一种代码块的书写方式:

if (true){

//body

}


if (true)

{

//body

}

建议使用第二种书写方式。如果是修改他人的代码,必须使用代码原来的书写方式。


对于代码块过长,超过1屏以上,}后面要说明属于那个代码块,例如:

if (i > 100)

{

//too many lines more than one screen

}// if (i > 100)


u 关于缩进

缩进使用4个连续空格,不要在源文件中保存tab字符, 请注意调整所用的IDE工具,打开将tab转换为空格功能。


u 页宽

页宽应该设置为80字符. 源代码一般不会超过这个宽度, 并导致无法完整显示, 但这一设置也可以灵活调整. 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进4个空格。


u 操作符

操作符左右各用一个空格分隔。

例如:

int a = b;

if (a > 0);


u SQL语句

代码中书写的sql语句要求sql关键字全部大写,表名和字段名小写。例如:

SELECT user_id, name FROM account WHERE user_id > ? AND depart = ? ORDER BY name


u 类和方法定义

类定义或方法定义过长需要换行书写,例如:

public class CounterSet

extends Observable

implements Cloneable


private PortletSet getPortlets( Portlets portlets,

RunData rundata,

boolean application,

boolean applicationsOnly )

{

}


6.1.3 注释

public 和 protected的成员变量和方法必须写Javadoc注释。超过1句以上的注释使用中文书写。对于代码多于10行的private方法也要写javadoc注释。


对于代码中的逻辑分支或循环条件需要书写注释,例如:

if (some condition)

{

//符合某个条件,应该这样处理

}

else

{

//否则应该那样处理

}


6.1.4 其他

u 关于属性

类中的属性不能定义为public变量直接存取,而是定义成protect变量并编写get/set方法,例如:

protect String myName;


public String getMyName()

{

return myName;

}


public void setMyName(String myName)

{

this.myName=myName;

}


6.2 JSP/html代码规范

u jsp/html描述注释

jsp/html页面顶部必须存在一个基本描述注释,包含功能描述、参数列表和历史修改信息,例如:

<%--

/**************************************************

*

* NAME : file_download.jsp

*

* PURPOSE : 下载文件提示

*

* PARAMETERS :

* file_id - 文件ID号

* force ?C 是否强制下载

*

* HISTORY

*

* 2002/04/05 Hafele 创建文件

*

* 2002/06/07 tmp 增加强制下在功能

*

*************************************************/

--%>


u jsp头格式

jsp头部一般需要遵循以下格式:

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page import="java.io.*" %> // JDK标准包

<%@ page import="javax.mail.*" %> // java扩展包

<%@ page import="org.apache.XML.*" %> //使用的外部库的包

<%@ page import="com.sunrise..*" %> //使用的项目的公共包

<%@ page import=" com.sunrise.applications.*" %> //使用的模块的其他包

<%@ include file="some.jsp" %> //include其他的jsp

<%

response.setHeader("Pragma","No-cache");

response.setHeader("Cache-Control","no-cache");

response.setHeader("Expires","0");

%> //一般jsp都需要防止缓存


u html格式

1. html头一般需要遵循以下格式:

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>some title</title>

<link rel="stylesheet" href="some.css" type="text/css">

<script language="JavaScript">

//some javascript

</script>

</head>

注意:必须指定一个有意义的<title>,严禁出现“Untitled”或“未命名”之类的<title>。


2. 所有html标签使用小写


3. html页面一般需要设置一个背景色(一般是#FFFFFF)。


u html语法校验

所有的jsp/html页面需要能够使用DreamWeaver正确打开(即html语法正确,没有错误的标记)。


u 注释

一般不使用html注释,除非是有必要让最终用户看到的内容。对于包含JSP代码的html块,必须使用JSP注释。对于没有必要的注释,在发行版本中必须移除。


u form属于域的maxlength

对于text类型的输入域,必须根据数据库字段的长度设置相应的maxlength,例如数据库类型是VARCHAR(64),那么maxlength是32(因为中文浏览器对于中文也认为是一个字符)。


6.3 其他规范

u 对于IDE的使用

目前暂不限制开发工具的使用,但是最后提交的代码必须不依赖任何IDE,而需要可以使用ant完成所有的编译工作。一般提交的代码目录格式如下:

\

|_dist(存放输出的文件class文件)

|_lib(使用的库)

|_src(源代码)

|_docs(文档)

|_wwwroot(页面文件)

|_build.xml(ant的build文件)

|_changes.log(代码版本和修改的日志)


u 限制session的使用

在代码中使用session需要听取项目经理的意见,项目经理需要在设计文档中登记项目中所有使用到的session的名字和作用。


u 限制外部包的使用

开发员如果需要使用一个外部包需要听取项目经理的意见。在项目经理批准以前,严禁擅自使用一个外部的包。(全文完)