开发规范与要求

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开发规范与要求

1.目的

1)养成良好的编程习惯。

2)写出清楚、易懂、易维护的程序代码。

3)提高软件质量与生产率。

4)减少软件编码中的不必要的错误。

5)提供完整的软件产品编码和文档。

2.要求

1)必须严格执行本规范以确保源代码的可读性及可维护性。

2)所有的程序文件都必须有注释文字,并严格按照本规范中的“注释规范”

书写。

3)编码必须使用标准英文单词,不允许使用中文拼音。

4)如果有名词,必须使用单数形式。

5)使用大小写混合格式,将连接的几个单词首字母大写,除常数变量和模

块级变量(m_*)外避免使用下划线。

6)命名必须在3至20个字母以内。

7)尽量避免使用缩写,如果必须使用,请参考本规范附录的缩写范例。3.开发工作要求

1)每天下班前必须签入所有代码,签入的代码必须是可编译通过的。

2)每天早上必须获取全部最新VSS。

3)为项目添加后文件后必须立即签入项目,再把新建的文件签出进行编码。

添加注释,注明创建时间、作者、功能,类的注释如下:

///

/// 时间:2010-10-23

/// 作者:XXX

/// 功能:用于枚举项的属性说明

/// 更新记录:

/// 1、2011-10-23,XXX,增加Text属性

///

public class TextAttribute:Attribute

4)界面风格必须保持统一,如页面、css、按钮风格,位置等等

5)文件目录,凡在OA基础上开发的项目,要用独立的目录存放,如HR在OA

基础上开发,建立HR独立的目录HRWeb,并将images.css,js等目录独立于OA相关目录存放在该目录下。

6)各模块下的模块目录,详细拆分到各子模块功能目录。

7)文件命名采用主谓结构,首字母大写,文件和文件夹的名称应该精确地说明

它们的用途,类名和文件名尽量保持完全相同。

8)命名空间:命名空间参考具体开发产品的命名规则,一般由以下几部分构成:

Part1:LinkPower (固定前缀)

Part2:产品缩写,如:PduOA5/PduOA6/PduEip 等

Part3:功能类型,分为模块功能、公用接口、公用页面、用户控件等

Part4:功能名称简写。

例如:LinkPower.PduOA6.Mod.WorkFlow

9)常量的命名(Constant names),常量用c_*开头,如:c_intNumDaysInWeek等

10)字段名标签放到html的label中,不能用td直接控制,页面中不能直接写css,

js统一放到css,js目录下的文件中,textbox,button,table等控件样式用统一的css控制,无特殊情况外不能直接写到页面中。

11)变量与控件命名方法:

4.书写排版规范

1)空格缩进

不要在源代码中使用TAB字符,这是因为TAB字符会随着不同用户的不同设置和不同的资源管理工具(打印、文档、版本控制等)而代表不同的宽度。

在函数体的开始、结构的定义、枚举的定义以及循环、判断等语句中的代码都要采用缩行。更改的默认设置,使所有语言设置的缩进均为4个空格(如下图)。

在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图,可以使程序更清晰。

2)Html标记和属性

为了使页面文档与XHTML 兼容,所有HTML标记和属性全部小写,并且属性要加双引号(””);(遵守级别3)如

请更改的默认设置(工具-选项-文本编辑器-HTML/XML,选取属性值引号复选框及格式中的大小写定义)。Dreamwear也需要根据其做工具配置修改。(如下图)

3)空行

使用空白为源代码提供结构线索。这样做会创建代码“段”,有助于读者理解软件的逻辑分段。

⏹在一个函数体内,变量定义与函数语句之间要加空行。(遵守级别2)

⏹逻揖上密切相关的语句之间不加空行,其它地方应加空行分隔。(遵守级别2)

示例:

private bool Validate(DataRow customerRow)

{

bool isValid;

customerRow.ClearErrors();

isValid = IsValidEmail(customerRow);

isValid &= IsValidField(customerRow, CustomerData.PASSWORD_FIELD, 15);

isValid &= IsValidField(customerRow, _FIELD, 40);

isValid &= IsValidField(customerRow, CustomerData.ADDRESS_FIELD, 255);

isValid &= IsValidField(customerRow, CustomerData.COUNTRY_FIELD, 40);

isValid &= IsValidField(customerRow, CustomerData.PHONE_FIELD, 30);

if ( !isValid )

{

customerRow.RowError = CustomerData.INVALID_FIELDS;

}

return isValid;

}

4)对齐

程序的分界符{’和‘}’永远都单独成行并且位于同一列,同时与引用它们的语句左对齐。

if(x==0)

{

Response.Write("用户编号必须输入!");

}

(遵守级别2)

5)长行拆分

【规则2-4-1】代码行最大长度宜控制在120个字符以内,为了防止在阅读代码时不得不滚动源代码编辑器(1024*7684分辨率下,编辑器右侧展开默认大小的解决方案

管理器情况下),较长的语句、表达式等要分成多行书写。(遵守级别2)6)注释: