当前位置:文档之家› 养成良好的代码规范

养成良好的代码规范

养成良好的代码规范
养成良好的代码规范

20期BBS小组编码规范

2.适用范围 (1)

3.标准化的重要性和好处 (1)

4.PHP编码规范与原则 (2)

4.1.代码标记 (2)

4.2.注释 (2)

4.3.书写规则 (3)

4.3.1.缩进 (3)

4.3.2.大括号{}、if和switch (3)

4.3.3.运算符、小括号、空格、关键词和函数 (4)

4.3.4.函数定义 (4)

4.3.5.引号 (5)

4.4.命名原则 ..................................................................................................................... 错误!未定义书签。

4.4.1.变量、对象、函数名 (6)

4.4.2.常量 (6)

4.5.变量的初始化与逻辑检查 (6)

4.6.安全性 ......................................................................................................................... 错误!未定义书签。

4.7.兼容性 ......................................................................................................................... 错误!未定义书签。

4.8.代码重用 (7)

4.9.其他细节问题 (7)

4.9.1.包含调用 (7)

4.9.2.错误报告级别8

1.适用范围

如无特殊说明,以下规则要求完全适用于Discuz!项目,同时也可大部分适用于COMSENZ

旗下其他PHP项目。

2.标准化的重要性和好处

当一个软件项目尝试着遵守公共一致的标准时,可以使参与项目的开发人员更容易了解

项目中的代码、弄清程序的状况。使新的参与者可以很快的适应环境,防止部分参与者出于

节省时间的需要,自创一套风格并养成终生的习惯,导致其它人在阅读时浪费过多的时间和

精力。而且在一致的环境下,也可以减少编码出错的机会。缺陷是由于每个人的标准不同,

所以需要一段时间来适应和改变自己的编码风格,暂时性的降底了工作效率。从使项目长远健康的发展以及后期更高的团队工作效率来考虑暂时的工作效率降低是值得的,也是必须要经过的一个过程。标准不是项目成功的关键,但可以帮助我们在团队协作中有更高的效率并且更加顺利的完成既定的任务。

1.程序员可以了解任何代码,弄清程序的状况

2.新人可以很快的适应环境

3.防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的习惯

4.防止新接触PHP的人一次次的犯同样的错误

5.在一致的环境下,人们可以减少犯错的机会

6.程序员们有了一致的敌人

3.PHP编码规范与原则

3.1. 代码标记

PHP程序可以使用来界定PHP 代码,在HTML页面中嵌入纯变量时,可以使用这样的形式。

近年来PHP开发组一直倡导代码规范化和标准化,未来版本PHP可能会开始不建议使用甚至取消这种速记形式,届时本文档也将进行跟进修改。

3.2. 注释

注释是对于那些容易忘记作用的代码添加简短的介绍性内容。请使用 C 样式的注释“/* */”和标准C++ 注释“//”。

在Discuz!每一个程序文件头部中,应放入相应CVS控制字串,以方便CVS提交时自动更新:

●$RCSfile$ 程序文件名

●$Revision$ 修订版本号

●$Date$ 最后更新时间

例如:

程序开发中难免留下一些临时代码和调试代码,此类代码必须添加注释,以免日后遗忘。所有临时性、调试性、试验性的代码,必须添加统一的注释标记“//debug”并后跟完整的注释信息,这样可以方便在程序发布和最终调试前批量检查程序中是否还存在有疑问的代码。例如:

3.3. 书写规则

3.3.1.缩进

每个缩进的单位约定是一个TAB(8个空白字符宽度),需每个参与项目的开发人员在编辑器(UltraEdit、EditPlus、Zend Studio等)中进行强制设定,以防在编写代码时遗忘而造成格式上的不规范。

本缩进规范适用于PHP、JavaScript中的函数、类、逻辑结构、循环等。

3.3.2.大括号{}、if和switch

首括号与关键词同行,尾括号与关键字同列;

if结构中,else和elseif与前后两个大括号同行,左右各一个空格。另外,即便if后只有一行语句,仍然需要加入大括号,以保证结构清晰;

switch结构中,通常当一个case块处理后,将跳过之后的case块处理,因此大多数情况下需要添加break。break的位置视程序逻辑,与case同在一行,或新起一行均可,但同一switch体中,break的位置格式应当保持一致。

以下是符合上述规范的例子:

3.3.3.运算符、小括号、空格、关键词和函数

每个运算符与两边参与运算的值或表达式中间要有一个空格,唯一的特例是字符连接运算符号两边不加空格;

左括号“(”应和函数关键词紧贴在一起,除此以外应当使用空格将“(”同前面内容分开;

右括号“)”除后面是“)”或者“.”以外,其他一律用空格隔开它们;

除字符串中特意需要,一般情况下,在程序以及HTML中不出现两个连续的空格;

任何情况下,PHP程序中不能出现空白的带有TAB或空格的行,即:这类空白行应当不包含任何TAB或空格。同时,任何程序行尾也不能出现多余的TAB或空格。多数编辑器具有自动去除行尾空格的功能,如果习惯养成不好,可临时使用它,避免多余空格产生;

每段较大的程序体,上、下应当加入空白行,两个程序块之间只使用1个空行,禁止使用多行。

程序块划分尽量合理,过大或者过小的分割都会影响他人对代码的阅读和理解。一般可以以较大函数定义、逻辑结构、功能结构来进行划分。少于15行的程序块,可不加上下空白行;

说明或显示部分中,内容如含有中文、数字、英文单词混杂,应当在数字或者英文单词的前后加入空格。

3.3.

4.函数定义

●参数的名字和变量的命名规范一致;

●函数定义中的左小括号,与函数名紧挨,中间无需空格;

●开始的左大括号与函数定义为同一行,中间加一个空格,不要另起一行;

●具有默认值的参数应该位于参数列表的后面;

●函数调用与定义的时候参数与参数之间加入一个空格;

●必须仔细检查并切实杜绝函数起始缩进位置与结束缩进位置不同的现象。

3.3.5.引号

PHP中单引号和双引号具有不同的含义,最大的几项区别如下:

单引号中,任何变量($var)、特殊转义字符(如“\t \r \n”等)不会被解析,因此PHP的解析速度更快,转义字符仅仅支持“\’”和“\\”这样对单引号和反斜杠本身的转义;

双引号中,变量($var)值会代入字符串中,特殊转义字符也会被解析成特定的单个字符,还有一些专门针对上述两项特性的特殊功能性转义,例如“\$”和“{$array[‘key’]}。这样虽然程序编写更加方便,但同时PHP的解析也很慢;

数组中,如果下标不是整型,而是字符串类型,请务必用单引号将下标括起,正确的写法为$array[‘key’],而不是$array[key],因为不正确的写法会使PHP解析器认为key是一个常量,进而先判断常量是否存在,不存在时才以“key”作为下标带入表达式中,同时出发错误事件,产生一条Notice级错误。

因此,在绝大多数可以使用单引号的场合,禁止使用双引号。依据上述分析,可以或必须使用单引号的情况包括但不限于下述:

●字符串为固定值,不包含“\t”等特殊转义字符;

●数组的固定下标,例如$array[‘key’];

●表达式中不需要带入变量,例如$string = ‘test’;,而非$string = “test$var”;

例外的,在正则表达式(用于preg_系列函数和ereg系列函数)中,Discuz!全部使用双引号,这是为了人工分析和编写的方便,并保持正则表达式的统一,减少不必要的分析混淆。

数据库SQL语句中,所有数据必须加单引号,无论数值还是字串,以避免可能的注入

所有数据在插入数据库之前,均需要进行addslashes()处理,以免特殊字符未经转义在插入数据库的时候出现错误。Discuz!中如果已经引入了文件common.inc.php,则所有通过GET, POST, FILE,取得的变量默认情况下已经使用了addslashes()进行了转义,不必重复进行。

如果数据处理必要(例如用于直接显示),可以使用stripslashes() 恢复,但数据在插入数据库之前必须再次进行转义。

缓存文件中,一般对缓存数据的值采用addcslashes($string, '\'\\')进行转义。

3.3.6.变量、对象、函数名

变量、对象、函数名一律为小写格式,除非必要,单词之间一般不使用下划线“_”进行分割;

以标准计算机英文为蓝本,杜绝一切拼音、或拼音英文混杂的命名方式;

变量命名只能使用项目中有据可查的英文缩写方式,例如可以使用$data而不可使用$data1、$data2这样容易产生混淆的形式,应当使用$threaddata、$postdata这样一目了然容易理解的形式;

可以合理的对过长的命名进行缩写,例如$bio($biography),$tpp($threadsPerPage),前提是英文中有这样既有的缩写形式,或字母符合英文缩写规范;

必须清楚所使用英文单词的词性,在权限相关的范围内,大多使用$allow***或$is***的形式,前者后面接动词,后者后面接形容词。

3.3.7.常量

常量应该总是全部使用大写字母命名,少数特别必要的情况下,可使用划线来分隔单词;

PHP 的内建值TRUE、FALSE 和NULL必须全部采用大写字母书写。

3.4. 变量的初始化与逻辑检查

任何变量在进行累加、直接显示或存储前必需进行初使化,例如:

判断一个无法确定(不知道是否已被赋值)的变量时,可用empty()或isset(),而不要直接使用if($switch)的形式,除非你确切的知道此变量一定已经被初始化并赋值。

empty()和isset()的区别为:

●bool empty(mixed var)

?如果var是非空或非零的值,则empty() 返回FALSE。换句话说,""、0、"0"、

NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,

如果var为空,则返回TRUE。

●boolisset(mixed var[, mixed var[, ...]])

?如果var存在则返回TRUE,否则返回FALSE。

?如果已经使用unset() 释放了一个变量之后,它将不再是isset()。若使用isset()

测试一个被设置成NULL 的变量,将返回FALSE。同时要注意的是一个NULL

字节("\0")并不等同于PHP 的NULL 常数。

判断一个变量是否为数组,请使用is_array(),这种判断尤其适用于对数组进行遍历的操作,例如foreach(),因为如果不事先判断,foreach()会对非数组类型的变量报错;

判断一个数组元素是否存在,可使用isset($array[‘key’]),也可使用empty(),两者异同见上。

3.5.

PHP中的变量不并不像C语言那样需要事先声明,解释器会在第一次使用时自动创建他们,同样类型也不需要指定,解释器会根据上下文环境自动确定。从开发人员的角度来看,这无疑是一种极其方便的处理方法。一个变量被创建了,就可以在程序中的任何地方使用。这导致的结果就是开发人员工经常不注意初始化变量。因此,为了提高程序的安全性,我们不能相信任何没有明确定义的变量。所有的变量在定义使用前要初使化以防止恶意构造提交的变量覆盖程序中使用的变量。

细节可以阅读(https://www.doczj.com/doc/142182735.html,.au/studyinscarlet.txt)这篇文档,该文档里罗列了PHP常见的安全问题,阅读该文档是非常有必要的!

3.6. 代码重用

代码的有效重用可以减少效率的损失与资源的浪费。在开发软件项目时为了避免重复劳动和浪费时间。开发人员应尽量提高现有代码的重用率,同时将更多的精力用在新技术的应用和新功能的创新开发上面。

●在需要多次使用代码,并且对于您希望实现的任务没有可用的内置PHP 函数时,

不吝啬定义函数或类。开发者须根据功能、调用情况,将函数和类放置于相应

的.func.php或.class.php中。超过3行,实现相同功能的程序切勿在不同程序中多

次出现,这是无法容忍和回避的问题;

●在任何时候都不要出现同一个程序中出现两段或更多的相似代码或相同代码,即便

在不同程序中,也应尽力避免。开发者应当总是有能力找到避免代码大段(超过10

行)重复或类似的情况。

3.7. 其他细节问题

3.7.1.包含调用

包含调用程序文件,请全部使用require_once,以避免可能的重复包含问题;

包含调用缓存文件,由于缓存文件无法保证100%正确打开,请使用include_once或include。在必要时,可以使用@include_once或@include的方式,以忽略错误提示;

包含和调用代码中,须以“./”或DISCUZ_ROOT.’./’开头,应避免直接写程序文件名(例

如:require_once‘x.php’;)的做法;

所有被包含和调用的程序文件,包括但不限于程序、缓存或模板,通常其不能被直接URL请求。Discuz!通过在./include/common.inc.php中定义一个标记性常量IN_DISCUZ,来判断程序是否被合法调用。因此,在除了./include/common.inc.php以外的任何一个被包含和

3.7.2.错误报告级别

在软件开发和调试阶段,请使用error_reporting(E_ALL);作为默认的错误报告级别,此级别最为严格,能够报告程序中所有的错误、警告和提示信息,以帮助开发者检查和核对代码,避免大多数安全性问题和逻辑错误、拼写错误。error_reporting()可以在./include/common.inc.php的头几行进行设置。

在软件发布时,请使用error_reporting(E_ERROR | E_WARNING | E_PARSE);作为默认的错误报告级别,以利于用户使用并将无谓错误提示信息降至最低。

4.文件与目录

4.1. 文件命名

所有包含PHP代码的程序文件或半程序文件,应以小写.php作为扩展名,而不要使用.phtml、.php3、.inc、.class等作为扩展名。

普通程序

能够被URL直接调用的程序,例如forumdisplay.php、index.php,直接使用程序名+.php 的方式命名

函数库和类库程序

分别以小写.func.php和.class.php作为扩展名。函数库和类库程序只能被其他程序引用,而不能独立运行。其中不能包含任何流程性的、不属于任何函数或类的程序代码。

流程性程序

以小写.inc.php作为扩展名。只能被其他程序引用,而不能独立运行。其中不能包含任何函数或类代码的程序代码。

模板源文件

以小写.htm作为扩展名。模板源文件按照Discuz!模板编码规则进行编写,不是可以执行的程序,而只能被Discuz!模板编译器所解析,放置于./templates/default或./templates下的其他模板目录下。

模板目标文件

模板文件被编译后自动生成的目标程序,以小写.tpl.php作为扩展名,存放于./forumdata/templates目录下。

语言包文件

以小写.lang.php作为扩展名,只能存放模板或程序使用的语言包信息。

缓存文件

此类文件为系统自动生成,以cache_xxx.php、usergroup_xxx.php、style_xxx.php等类似形式命名,存放于./forumdata/cache目录下。

4.2. 目录命名

Discuz!目录命名以前面《4.4命名原则》的约定为基本准则。在可能的情况下,多以复数形式出现,如./templates、./images等。

由于目录数量较少,因此目录命名大多是一些习惯和约定俗成,开发人员如需新建目录,应与项目组成员进行磋商,达成一致后方可实施。

4.3. 空目录索引

请在所有不包含普通程序(即能够被URL直接调用的程序)的目录中放置一个1字节的index.htm文件,内容为一个空格。几乎除Discuz!根目录以外,所有目录都属于这一类型,因此开发者需要在这些目录全部放入空index.htm文件,以避免当http服务器的Directory Listing打开时,服务器文件被索引和列表。

附件目录等敏感目录,要在程序中实现相应功能,当新建下级目录时,必须自动写入一个空的index.htm文件,以避免新建目录被索引的问题。

图书馆管理系统文档(含源代码)免费

程序设计综合训练<图书馆管理系统> 设计报告 院系:材料科学与工程学院 专业班级:材料成型一班 姓名:张成智 学号: 20111402128 指导老师:肖老师

一、程序功能简介 图书排序功能 1)按图书编号排序 可以按图书编号的大小排序,显示到屏幕上。(从小到大) 2)按图书出版时间排序 可以按图书出版时间的前后排序,显示到屏幕上。(从近到远) 3)按图书价格排序 可以按图书价格的贵宜排序,显示到屏幕上。(从便宜到贵) 4)按图书书名排序 可以按图书书名字符的大小排序,显示到屏幕上。(从小到大) 5)按图书作者名排序 可以按图书作者名字符的大小排序,显示到屏幕上。(从小到大) 二、本人完成的主要工作 图书排序功能(排序比较简单只要做出来一个,其他都和它雷同。) 三、设计方案 1.设计分析; 1)序功能简介: s 进入系统

|| 2)各个功能流程图 1、按图书编号排序 菜单 1-添加图书 4-图书排序 5-查询图书 6-修改图书 7-录入数据 0-退出系统 2-删除图书 3-图书列表 输入编号、书名、 作者名、出版社、 类别、出版时间、 价格。 按照编号、书名、作者名、出版社、类别、出版时间、 价格进行删除。 按照编号、书名、作者名、出版社、类别、出版时间、 价格进行列出。 按照编号、书名、作者名、出版社、类别、出版时间、 价格进行排列。 按照编号、书名、作者名、出版社、类别、出版时间、 价格进行咨询。 依次录入编号、书名、作者名、出版社、类别、出版时间、 选择编号、书名、作者名、出版社、类别、出版时间、 价格进行修改。 输入0返回原始菜单。

程序代码注释编写规范

程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ COPYRIGHT (C), MicTiVo International. Co., Ltd. FileName: Author:

源代码安全管理制度V

技术部源代码控制管理制度V1.0 一、总则 1、目的: 为保障公司源代码安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。 2、使用范围: 本办法适用于所有涉及接触源代码的各部门各岗位,所涉及部门都必须严格执行本管理办法。 3、责权: 源代码直接控制管理部门为技术部。本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个平台系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 二、管理内容及要求(根据部门工作情况撰写) 1、源代码完整性保障 所有系统的源代码及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定SVN库中。

我们研发的平台系统运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的SVN库中。 功能开始编写或者调整代码之前,其相应的设计文档必须签入SVN库(由测试组文档管理员负责检查)。 系统编码或代码调整优化结束后,提交技术测试组功能测试之前,相应的源代码必须提交到SVN库。 测试组对功能进行测试时必须从源代码服务器上的SVN库中获取代码,包括必须的第三方软件、控件和其它支撑库等文件,然后进行测试。 所有提交到SVN上的代码必须保证编译通过,而且提交的时候不会影响主干其它程序的正常运行. 2、源代码的授权访问 源代码服务器对于共享的SVN库的访问建立操作系统级的,基于身份和口令的访问授权。(由SVN管理员进行管理和设置) 在SVN库中设置用户,为不同用户分配不同的、适合工作的最小访问权限。要求连接SVN库时必须校验SVN中用户身份及其口令。在SVN库中要求区别对待不同用户的可访问权、可创建权、可编辑权、可删除权、可销毁权。每个用户切实保证自己的用户身份和口令不泄露,用户要经常更换自己在SVN库中账号的口令。同时,工作任务变化或岗位调整后SVN管理员要实时回收用户的相关权限。要获取不属于自己范围内的文件,例如:代码、数据库,需求文档等,需经项目经理和技术部经理审批同意后由SVN管理员授权。

Git源代码管理规范样本

Git源代码管理规范 一、分支管理 使用git进行源代码管理, 一般将某个项目的所有分支分为以下几条主线: 1.Master 顾名思义, 既然名字叫Master, 那么该分支就是主分支的意思。master分支永远是production-ready的状态, 即稳定可产品化发布的状态。 2.Develop 这个分支就是我们平常开发的一个主要分支了, 不论是要做新的feature还是需要做bug fix, 都是从这个分支分出来做。在这个分支下主要负责记录开发状态下相对稳定的版本, 即完成了某个feature或者修复了某个bug后的开发稳定版本。 3.Feature branches 这是由许多分别负责不同feature开发的分支组成的一个分支系列。new feature主要就在这个分支系列下进行开发。当功能点开发测试完毕之后, 就会合并到develop分支去。

4.release branches 这个分支系列从develop分支出来, 也就是预发分支。在预发状态下, 我们往往会进行预发环境下的测试, 如果出现缺陷, 那么就在该release分支下进行修复, 修复完毕测试经过后, 即分别并入master分支后develop分支, 随后master分支做正常发布。 5.Hotfix branches 这个分支系列也就是我们常说的紧急线上修复, 当线上出现bug且特别紧急的时候, 就能够从master拉出分支到这里进行 修复, 修复完成后分别并入master和develop分支。 下面这张图将完整展示这一个流程

二、工作原理Git的工作方式:

也就是说, 每次提交版本变动的时候, git会保存一个快照(snapshot)。如果文件没有被更改, git也不会再次保存, 而是提供一个到原来文件的链接。这样一来, git更像是一个小型的文件系统。另外, git的所有操作都能够是本地的, 仅仅在将新版本的内容上传到服务器上时才需要连接网络。 Git目录( repository) 是Git保存元数据和对象数据库的地方。这也是Git最重要的部分。

软件版本管理规范标准[详]

软件版本管理规 第一章目的 本规详细规定软件项目版本管理的对象、存储目录、分支、权限、维护等容,使软件项目版本管理流程化并规化,确保在系统开发和实施过程中项目的完整性和一致性。 1.第二章适用围 所有系统开发及实施项目的软件项目都应进行版本管理。项目中所有正式文档和代码都应纳入配置库(可使用工具建立配置库,本文所述使用的是SVN)进行版本管理。 2.第三章职责 配置库管理员:负责配置库的日常维护和管理;监督开发及测试部门及时提交版本管理对象(即配置项)。 此岗位可由开发或测试人员兼任。 3.第四章容 4.1. 版本管理对象 包括但不限于: 项目总体计划 可行性研究报告 开发计划 需求说明书 需求设计原型 设计说明书 系统开发变更申请单 系统管理手册 用户操作手册 培训计划 培训记录 源程序 支持系统运行的配置文件 存储过程脚本 测试计划 测试用例 测试脚本 测试报告 上线计划

上线申请 版本维护日志 4.2. 配置库的目录结构 每个项目在配置库中应拥有唯一的项目名称。配置库目录结构与项目部的目录结构建议按下列格式创建。 配置库目录结构规划: ┠tags(发布) ┃├v1.0.0_T1_2016909 ┃├v1.0.0.33899_T1_20161009 ┃├v1.0.0_R1_20161109 ┃├v1.1.0_T1_20170109 ┃└v1.1.0_R1_20170209 ┠trunk(主版本) ┃└projectA ┃├src ┃├MY_MOOC ┃├doc ┃├tool ┃├。。。 ┖branches(分支) ├SY_ABC ├TJ_ABC ├WH_MOOC 其中,项目部的目录结构: |–projectA |–src (保存该项目的源程序) |–doc (保存项目相关文档) |–000.项目管理(保存项目过程管理相关文档) |–010.项目计划(保存项目计划相关文档) |–020.项目需求(保存项目需求相关文档) |–030.系统设计(保存项目设计相关文档) |–030.系统测试(保存项目代码测试相关文档) |–040.系统实施(保存项目部署实施相关文档) |–050.系统运维(保存项目运维文档,包括培训、用户手册等) |–060.技术资料(保存项目技术文档,包括第三方技术资料等)

华为JAVA编程规范

1 Java 编程规范 1.1 排版 1.1.1 规则 规则1程序块要采用缩进风格编写,缩进的空格数为4个,不允许使用TAB缩进。(1.42+) 说明:缩进使程序更易阅读,使用空格缩进可以适应不同操作系统与不同开发工具。 规则2分界符(如大括号…{?和…}?)应各独占一行,同时与引用它们的语句左对齐。在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序 或者static、,synchronized等语句块中都要采用如上的缩进方式。(1.42+) 示例: if (a>b) { doStart(); } 规则3较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐, 语句可读。(1.42+) 示例: if (logger.isDebugEnabled()) { logger.debug("Session destroyed,call-id" + event.getSession().getCallId()); } 规则4不允许把多个短语句写在一行中,即一行只写一条语句(1.42+) 说明:阅读代码更加清晰 示例:如下例子不符合规范。 Object o = new Object(); Object b = null; 规则5if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while,switch等语句的执行语句无论多少都要加括号{},case 的执行语句中如果定义变量必须加括号{}。 (1.42+) 说明:阅读代码更加清晰,减少错误产生 示例: if (a>b) { doStart(); }

源代码管理规范

1源代码管理 (1) 总则 (1) 源代码完整性保障 (1) 源代码的授权访问 (2) 代码版本管理 (2) 源代码复制和传播 (5) 系统测试验收流程 (5) 系统初验 (6) 试运行 (6) 系统终验 (6) 应用系统验收标准 (8) 文档评审通过标准 (9) 确认测试通过标准 (9) 系统试运行通过标准 (10)

1代码管理 总则 1、为保障公司源代码和开发文档安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。 2、本办法适用于所有涉及接触源代码的各部门各岗位。所涉及部门都必须严格执行本管理办法。 3、源代码直接控制管理部门为技术开发部。 4、本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。 5、本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 源代码完整性保障 1、所有软件的源代码文件及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定库中。 2、我们研发的产品软件运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。 3、软件开始编写或者调整代码之前,其相应的设计文档和代码必须先从相应的SVN库进行SVNUpdate操作。软件编码或功能调整结束测试正确无误后,相应的源代码必须进行SVNCommit操作,在最终进行SVNCommit操作之前需要再进行SVNUpdate操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。

程序代码编写规范

程序编写规范及约定 (仅供内部使用) 文档作者:_______________ 日期:___/___/___ 开发/测试经理:_______________ 日期:___/___/___ 项目经理:_______________ 日期:___/___/___ 请在这里输入公司名称 版权所有不得复制

目录 程序编写规范及约定 (3) 1编写目的 (3) 2代码编写风格 (3) 2.1单元风格 (3) 2.2语句风格 (3) 3命名规则 (3) 3.1命名约定 (3) 3.1.1标志符 (3) 3.1.2类class (3) 3.1.3枚举类型enum (4) 3.1.4委托delegate (4) 3.1.5常量const (4) 3.1.6接口interface (4) 3.1.7方法function (4) 3.1.8命名空间namespace (4) 3.1.9参数 (4) 3.1.10局部变量 (5) 3.1.11数据成员 (5) 3.1.12自定义异常类 (5) 3.1.13命名缩写 (5) 3.1.14数据库命名 (5) 3.2代码编写命名规范 (6) 3.3界面常用控件命名约定 (6) 3.4文件命名规范 (7) 3.4.1文档文件命名 (7) 3.4.2配置文件命名 (7) 3.4.3程序文件命名 (7)

程序编写规范及约定 1编写目的 为了使编写代码具有可读性、可理解性、可维护性,对程序编写人员代码实行统一风格,使得程序代码能够以名称反映含义、以形式反映结构。此文档可供程序代码编写人员及代码维护人员使用。 2代码编写风格 2.1单元风格 2.2语句风格 3命名规则 3.1命名约定 Pascal和Camel命名约定: 编程的命名方式主要有Pascal和Camel两种(Pascal:每个单词的首字母大写,例如ProductType;Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType) 3.1.1标志符 规则:Pascal、Camel 实例与描述:例子说明 3.1.2类class 规则:Pascal 实例与描述:Application

源代码管理规范

代码管理制度 1总则 (2) 2源代码完整性保障 (2) 3源代码的授权访问 (2) 4代码版本管理 (3) 5源代码复制和传播 (4) 6系统测试验收流程 (5) 6.1 系统初验 (5) 6.2 试运行 (5) 6.3 系统终验 (5) 6.4 系统验收标准 (6) 6.5 文档评审通过标准 (7) 6.6 确认测试通过标准 (7) 6.7 系统试运行通过标准 (7)

1总则 1、为保障公司源代码和开发文档安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。 2、本办法适用于所有涉及接触源代码的各部门各岗位。所涉及部门都必须严格执行本管理办法。 3、源代码直接控制管理部门为技术开发部。 4、本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。 5、本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 2源代码完整性保障 1、所有软件的源代码文件及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定库中。 2、我们研发的产品软件运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。 3、软件开始编写或者调整代码之前,其相应的设计文档和代码必须先从相应的SVN库进行SVNUpdate操作。软件编码或功能调整结束测试正确无误后,相应的源代码必须进行SVNCommit操作,在最终进行SVNCommit操作之前需要再进行SVNUpdate操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。 3源代码的授权访问 1、源代码服务器对于共享的SVN库的访问建立操作系统级的,基于身份和口令的访问授权。 第十条在SVN库中设置用户,并为不同用户分配不同的,适合工作的最小访问权限。要求连接SVN库时必须校验SVN中用户身份及其口令。在SVN库中要求区别对待不同用户的可访问权、可读权、可写权。

程序代码注释编写规范

百度文库- 让每个人平等地提升自我 1 程序代码注释编写规范 为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* (C), MicTiVo International. Co., Ltd. 1.File : . History: Date: Author: Modification: 2. .. *************************************************/ 一、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************ (C), MicTiVo International. Co., Ltd. FileName: Author: Version : Date: : / /*receive _process() */ 意:与溢出中断写初值不同}

代码版本管理规范_v1.1

XXXXXXXX 代码版本管理规范

历史版本

目录 历史版本 (2) 1引言 (4) 1.1目的 (4) 1.2管理工具 (4) 2现状概述 (5) 3现状分析 (5) 3.1现状详述 (5) 3.2目标细化 (6) 3.3SVN版本管理 (6) 3.3.1概述 (6) 3.3.2使用对比 (7) 4完整的实施方案 (9) 4.1开发阶段 (9) 4.2预发布测试阶段 (9)

1引言 1.1目的 为了规范和制度化公司的软件版本管理制度,并保障项目开发资料的完整性和安全性,同时明确开发源代码的控制管理流程,特此制定此规范。 1.2管理工具 沿用SVN管理工具来进行开发的版本管理,源代码管理和开发资料归档。

2现状概述 目前公司研发部门对于代码的版本管理方式较为简单,只是在每次发版后做了基线库存档,导致所有正在开发的需求和项目都在同一个目录里面进行修改,造成每次发版的代码都有可能包含了本次发版以外的内容。 这样会造成如下两点影响: ●会有不稳定的因素存在,比如:测试只会对当前需要发版的内容进行测试,但是代码库 中同时存在多个版本和项目的代码,对于本次发版无涉及的代码没有进过测试就部署到了服务器上,影响运行的稳定性。 ●一旦出现点问题不好定位,比如:出现问题后通常会优先排查发版涉及的内容,但是部 分问题是由于其他项目代码引起的。 因此,随着公司和项目规模的壮大,对软件代码版本管理提出了更高的要求。 3现状分析 3.1现状详述 当前代码版本管理现状如下: 1.所有的开发都在一个目录里面做,各种需求、项目、代码、文件混杂在一起。 2.提交测试服务器时,只考虑了编译能通过,而没有考虑功能本身有没有完成。 3.测试出bug以后,会在开发目录进行修改,然后再次提交到测试服务器。这时提交的 代码就可能包含了他人对其他功能/项目的修改,而测试又只会针对此bug再做测试。 这就导致了除了此bug之外的修改可能会没有测试过就直接发布到了服务器上,引起预发布环境不稳定并增加预发布bug数量。 总体来说,当前工作流程是:预发布出bug,研发修改,再提交测试,然后预发布测试

程序代码注释编写规范

程序代码注释编写规范 XXX份公司

为提高控制程序的阅读性与可理解性,现制定相关代码程序代码注释编写的编写规范。 一般情况下,源程序有效注释量必须在20%以上,注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。 常规注释有以下两种方式。 单行:以"//"符号开始,任何位于该符号之后的本行文字都视为注释。 多行:以"/*"符号开始,以"*/"结束。任何介于这对符号之间的文字都视为注释。 一、说明性文件 说明性文件(如头文件.h文件、.inc文件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、修改日志等,头文件的注释中还应有函数功能简要说明。 示例:下面这段头文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************* COPYRIGHT (C), MicTiVo International. Co., Ltd. File NAME: // 文件 Author: Version: Date: // 作者、版本及完成日期 DESCRIPTION: // 用于详细说明此程序文件完成的主要功能,与其他模块 // 或函数的接口,输出值、取值范围、含义及参数间的控 // 制、顺序、独立或依赖等关系 Others: // 其它内容的说明 Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.... History: // 修改历史记录列表,每条修改记录应包括修改日期、修改 // 者及修改内容简述 1. Date: Author: Modification: 2. .. *************************************************/ 二、源文件头 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、模块目的/功能、主要函数及其功能、修改日志等。 示例:下面这段源文件的头注释比较标准,当然,并不局限于此格式,但上述信息建议要包含在内。 /************************************************************

源代码管理制度

源代码管理制度 1代码管理 1.1总则 1、为保障公司源代码和开发文档安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。 2、本办法适用于所有涉及接触源代码的各部门各岗位。所涉及部门都必须严格执行本管理办法。 3、源代码直接控制管理部门为技术开发部。 4、本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。 5、本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 1.2源代码完整性保障 1、所有软件的源代码文件及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定库中。 2、我们研发的产品软件运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。 3、软件开始编写或者调整代码之前,其相应的设计文档和代码必须先从相应的SVN库进行SVNUpdate操作。软件编码或功能调整结束测试正确无误后,相应的源代码必须进行SVNCommit操作,在最终进行SVNCommit操作之前需要再进行SVNUpdate操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。 1.3源代码的授权访问 1、源代码服务器对于共享的SVN库的访问建立操作系统级的,基于身份和口令的访问授权。在SVN库中设置用户,并为不同用户分配不同的权限,适合工作的最小访问权限。

要求连接SVN库时必须校验SVN中用户身份及其口令。在SVN库中要求区别对待不同用户的可访问权、可读权、可写权。 2、曾经涉及、触及源代码的计算机在转作它用,或者离开研发部门之前必须由网络管理人员全面清除计算机硬盘中存储的源代码。如果不能确定,必须对计算机中所有硬盘进行全面格式化后方可以转做它用或离开研发部门。 1.4代码版本管理 1、终端软件的版本标识管理 终端软件版本由终端型号、版本号和内部修订号来进行标识。终端型号:终端型号是硬件标识号,也唯一的标识了我们的项目。版本号:由“<主版本号>.<次版本号>.<修订号>”三段组成,中间是点号分开。版本号的目的主要是管理终端软件的对外发布,终端软件的bug的记录和统计,主要是针对于版本号的,测试部、项目部、客户等会记录某个版本号的终端软件存在哪些bug,bug会在哪个版本号中得到修正。终端软件一个新的版本号出来后,我们会统计新的版本号解决了上一个版本号中的哪些bug,以及增加了哪些新功能,等等。 内部修订号:也就是“应用程序的源代码的svn修订号”,主要是由软件部和测试部内部来使用,内部修订号唯一标识我们的终端软件,即:通过内部修订号能够唯一的找出我们发布的终端软件所对应的全部软件源代码,目的是为了软件排错使用。 另外,终端软件在发布时,还会给出发布日期,以便开发、测试、项目、客户等相关人员参考。 2、终端软件版本发布管理 终端软件主要是以版本号为基准,对外发布,目前采用不定时发布策略,发布的时间由软件部、项目部和客户方根据情况,共同商量决定。 由于目前项目时间紧,终端软件无法得到完整的测试就要发布,在发布之后,有一些需要紧急需要修复的bug,软件部需要紧急修复后就要发布更新包,以便用户能够使用,所以,在一个版本号发布后,需要进行多次修订,对于这些修订的版本,其版本号保持不变,内部修订发生变化。 3、软件bug记录、管理和统计 软件bug的记录、管理和统计主要以版本号为基准,但为了软件开发人员能够找到bug

源代码管理规范

1源代码管理 (1) 1.1总则 (1) 1.2源代码完整性保障 (1) 1.3源代码的授权访问 (2) 1.4代码版本管理 (2) 1.5源代码复制和传播 (5) 1.6系统测试验收流程 (5) 1.6.1系统初验 (6) 1.6.2试运行 (6) 1.6.3系统终验 (6) 1.6.4应用系统验收标准 (8) 1.6.5文档评审通过标准 (9) 1.6.6确认测试通过标准 (9) 1.6.7系统试运行通过标准 (10)

1代码管理 1.1总则 1、为保障公司源代码和开发文档安全不至于泄露,保证源代码的完整,明确源代码控制管理流程,特制定此管理办法。 2、本办法适用于所有涉及接触源代码的各部门各岗位。所涉及部门都必须严格执行本管理办法。 3、源代码直接控制管理部门为技术开发部。 4、本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。 5、本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 1.2源代码完整性保障 1、所有软件的源代码文件及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定库中。 2、我们研发的产品软件运行所必须的第三方软件、控件和其它支撑库等文件也必须及时加入源代码服务器中指定的库中。 3、软件开始编写或者调整代码之前,其相应的设计文档和代码必须先从相应的SVN库进行SVNUpdate操作。软件编码或功能调整结束测试正确无误后,相应的源代码必须进行SVNCommit操作,在最终进行SVNCommit操作之前需要再进行SVNUpdate操作,查看是否有冲突产生,如果有冲突产生需要和冲突相关人一并解决冲突。

C语言编写规范之注释

1、头文件包含Includes 2、私有类型定义 Private typedef 3、私有定义Private define 4、私有宏定义 Private macro 5、私有变量 Private variables 6、私有函数原型Private function prototypes 7、私有函数Private functions 8、私有函数前注释 /****************************************************************************** * * Function Name : FSMC_NOR_Init * Description : Configures the FSMC and GPIOs to interface with the NOR memory. * This function must be called before any write/read operation * on the NOR. * Input : None * Output : None * Return : None ******************************************************************************* / 9、程序块采用缩进风格编写,缩进空格为4。 10、相对独立的程序块之间、变量说明之后必须加空行; 11、较长的字符(>80字符)要分成多行书写,长表达式要在低优先级操作符划分新行,操作符放在新行之首,新行要恰当缩进,保持排版整齐; 12、循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首; 13、若函数或过程中的参数较长,则要进行适当的划分。 14、不允许把多个短语句写在一行中,即一行只写一条语句。 15、if、for、do、while、case、switch、default等语句自占一行,且if、for、 do、while等语句的执行语句部分无论多少都要加括号{}。 16、对齐只使用空格键,不使用TAB键; 17、 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case 语句下的情况处理语句也要遵从语句缩进要求 18、 程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一 列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以 及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 19、 在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或

程序源代码注释规范

程序注释规范说明 程序注释规范应包括以下三方面: 一、文件头部注释 在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。 样本: /***************************************************** ** 作者:Liuchao ** 创始时间:2007-11-12 ** 修改人:Liuchao ** 修改时间:2007-11-12 ** 修改人:Liaochao ** 修改时间:2007-11-12 ** 描述: ** 主要用于产品信息的资料录入,… *****************************************************/ 二、函数、属性、类等注释 请使用///三斜线注释,这种注释是基于XML的,不仅能导出XML制作帮助文档,而且在各个函数、属性、类等的使用中,编辑环境会自动带出注释,方便你的开发。以protected,protected Internal,public声明的定义注释都建议以这样命名方法。 例如: ///

/// 用于从ERP系统中捞出产品信息的类 ///

class ProductTypeCollector { … } 三、逻辑点注释 在我们认为逻辑性较强的地方加入注释,说明这段程序的逻辑是怎样的,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG。在注释中写明我们的逻辑思想,对照程序,判断程序是否符合我们的初衷,如果不是,则我们应该仔细思考耀修改的是注释还是程序了… 四、变量注释 我们在认为重要的变量后加以注释,说明变量的含义,以方便我们自己后来的理解以及其他人的理解,并且这样还可以在一定程度上排除BUG.我们常用///三斜线注释。 /// 用于从ERP系统中捞出产品信息的类 class ProductTypeCollector { int STData;/// … }

产品版本管理规范

基于Tortoise SVN的软件产品版本管理规范[草稿]

目录 1. 引言 (1) 1.1. 目的 (1) 1.2. 范围 (1) 1.3. 术语定义 (1) 1.4. 参考资料 (2) 1.5. 版本控制记录 (2) 1.6. 版本更新记录 (2) 2. 版本管理 (4) 2.1. 版本标示方法 (4) 2.1.1. 正式版本 (4) 2.2. 目录结构 (5) 2.3. 文档的存放 (6) 2.3.1. 开发文档的存放 (6) 2.3.2. 源代码的存放 (6) 2.3.3. SQL的语句存放 (7) 2.3.4. 发行文档的存放 (7) 2.4. 配置管理流程 (7) 2.5. 权限控制的管理 (8) 3. 更新管理 (9) 3.1. 源程序的修改 (9) 3.2. 版本升级 (10) 3.2.1. 版本升级原则 (10) 3.2.2. 新版本发布 (11) 3.3. 文档的变更 (11) 4. 备份管理 (12) 5. 版本工具Tortoise SVN的使用 (13)

1.引言 版本控制就是对软件开发过程中所创建的配置对象不同版本进行管理,保证任何时间都可以取到正确的版本以及版本的组合。 版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统的成长记录。 1.1. 目的 本文档的编制是为了规范产品部、研发部、测试部对软件产品版本的管理。 1.2. 范围 本文档为产品部、研发部、测试部的管理员提供有关版本管理规范的相关内容,包括: ●版本标识方法 ●软件系统数据的存放 ●文档的修改控制 ●文档的备份制度 1.3. 术语定义 SCM 软件配置管理(Software Configuration Management)缩写 SVM 软件版本管理(Software Version Management)缩写 SVN 一个开源的版本控制系统Subversion. 文档 一种数据媒体和其上所记录的数据。

java编程规范+数据库命名规范

Java编程规范 本编程规范建立在标准的Java编程规范的基础上,如和标准的Java编程规范有冲突,以本编程规范为准。 1.1 程序结构 包名 引入包/类名 类注释 类 常量//常量注释 构造器注释 构造器 构造器注释 构造器 方法注释 方法 方法注释 方法 1.2 命名规范 命名规范使得程序更易理解,可读性更强。并且能够提供函数和标识符的信息。 文件命名规范: java程序使用如下的文件名后缀: 文件类型后缀 Java 源文件.java Java 字节码文件.class 对系统的文件命名方式有待于根据实际业务决定。 包命名规范: 包名应该唯一,它的前缀可以为任何小写的ASCII字符,包名按照公司内部的命名规范,这些规范指出了某种目录名,主要包括部门,项目,机器,或者登录名。 命名规则为: app.系统名.模块名.xxx.xxx 包命名举例: app.oa.interceptor.xxx app.oa.sys.xxx 类命名规范: 类名应该是名词,并且是大小写混合的。首字母要大写。尽量保证类名简单并且描述性强。避免使用只取单词首字母的简写或者单词的缩写形式,除非缩写形式比单词的完整形式更常用(例如:URL或者HTML)。文件名必须和public的类名保持一致,注意大小写(JBuilder 等一些编译器可以忽略大小写,要特别注意)。如是实现类命名后缀+Impl。 类命名举例: classLoginAction; classUserServiceImpl; 接口命名规范:

接口命名方式与类命名方式相同。 接口命名举例: interfaceIUserService; interfaceSysYhjsDAO; 方法命名规范; 方法名应该为动词,并且是大小写混合的。首字母要小写,方法名的第 二个单词的第一个字母大写。 方法命名举例: String getNoticeNo(); Collection findByCondition(String); 变量命名规范 变量,以及所有的类实例应为首字母小写的大小写混合形式。变量名的第二个单词 的首字母大写。变量名的首字母不能为下划线或者$符。 变量名应该尽可能的短小,但要有意义。变量名应该便于记忆,也就是说变量名应 该尽可能的做到见名知意。除了暂时使用的变量外(一般用于循环变量),应该避免使 用只有一个字母的变量名。对于临时变量一般说来:i,j,k,m,n代表整型变量。c,d,e代表字符型变量。 变量命名举例: String dataType; String name; inti; char c; 常量命名规范: 声明为类常量的变量或者ANSI常量应该全部为大写字母,并且每个单词间用下划 线“_”隔开。为了便于调试,应避免使用ANSI常量。 常量命名举例: static final int MIN_WIDTH = 4; 1.3 注释规范 Java 提供了两种类型的注释:程序注释和文档注释。程序注释是由分隔符/*…*/,和// 隔开的部分,这些注释和C++ 中的注释一样。文档注释(即“doc 注释”)是Java 独有的。由分隔符/**…*/隔开。使用javadoc工具能够将文档注释抽取出来形成HTML 文件。程序注释主要是对程序的某部分具体实现方式的注释。文档注释是对程序的描述性注释,主要是提供给不需要了解程序具体实现的开发者使用。注释应该是代码的概括性描述,提供不易直接从代码中得到的信息,并且只包含对阅读和理解程序有用的信息。例如注释中包含相应的包如何编译或者在哪个目录下,而不应该包括这个包驻留在哪儿的信息。注释中可以描述一些精妙的算法和一些不易理解的设计思想,但应该避免那些在程序代码中很清楚的表达出来的信息。尽可能的避免过时的信息。错误的注释比没有注释更有害。经常性的注释有时也反映出代码质量的低下。 …程序注释: 程序注释有四种格式:块注释格式,单行注释,跟随注释,行尾注释 ?块注释格式 块注释主要用于描述:文件、方法、数据结构和算法。一般在文件或者方法定义的 之前使用。也可以用在方法定义里面,如果块注释放在函数或者方法定义里,它必须与它所描述的代码具有相同的缩进形式。

源代码及文档管理规范

源代码管理文档管理规范 第一章总则 第一条为保障公司源代码和开发文档安全,保证源代码的完整,明确源代码控制管理流程,特制定本源代码管理办法。 第二条本办法适用于所有涉及接触源代码的各部门各岗位。所涉及部门都必须严格执行本管理办法。 第三条源代码直接控制管理部门为产品管理。原代码的内容为我单位万网工程建站的所有相关网站,模板,四川机构网网站代码以及数据库等。 第四条本办法管理重点在于控制管理源代码的完整性,不被非授权获取,不被非授权复制和传播。 第五条本办法所指源代码不仅限于公司开发人员自行编写实现功能的程序代码,而且还包括相应的开发设计文档及用于支撑整个系统运行所必须具备的第三方软件、控件和其它支撑库等文件。 第二章源代码完整性保障 第六条所有软件的源代码文件及相应的开发设计文档均必须及时加入到指定的源代码服务器中的指定库中。 第三章源代码的授权访问 第七条源代码服务器对于共享的TFS库的访问建立操作系统级的,基于身份和口令的访问授权。 第八条在TFS库中设置用户,并为不同用户分配不同的,适合工作的最小访问权限。要求连接TFS库时必须校验TFS中用户身份及其口令。在TFS库中要求区别对待不同用户的可访问权、可读权、可写权。 第九条曾经涉及、触及源代码的计算机在转作它用,或者离开研发部门之前必须由网络管理人员全面清除计算机硬盘中存储的源代码。如果不能确定,必须对计算机中所有硬盘进行全面格式化后方可以转做它用或离开研发部门。 第四章源代码复制和传播 第十条源代码向研发部门以外复制必须获得总经理的书面授权。并必需记录

复制人、批准人、复制时间、复制目的、文件流向、文件版本或内容。 第十一条源代码以任何介质形式进行存储的备份,必须由专人负责保管。对于这些介质地借阅,用于研发部内部使用的必须获得研发部经理的授权,对于用于研发部以外使用的必须获得总经理的书面授权。 第十二条源代码的借阅、复制必须进行详细的登记,必需记录借阅人、批准人、借阅时间、借阅目的、文件流向、文件版本或内容、归还时间。 第十三条任何纸质材料的借阅都必需记录借阅人、批准人、借阅时间、借阅目的、文件流向、文件版本或内容、归还时间。 第十四条对于因合作需要,需要向外复制、传播、分发源代码的,不论是全部还是部分代码和资料,均必需和对方签订技术、源码的保密协定,明确对方应当承担的对源码保密的责任和义务。 第十五条所有已有的开发文档与当前的代码进行统一管理。 第十六条新开发的项目和系统验收时必须与同相关的开发文档同时进行验收。 第五章开发文档管理规范 第十七条所有已有的开发文档与当前的代码进行统一管理 第十八条本规范执行日之后的所有项目的开发必须按开发的基本规则输出开发文档进行备案。 第十九条开发周期在1-3个月以内的项目开发文档保密时效为6个月,开发周期在3个月以上的为一年,保密时效计时为项目结束成功验收之后开始。 第二十条在项目开发中任何以不得未经授权向外发布、流传开发相当的任何文档。

相关主题
文本预览
相关文档 最新文档