当前位置:文档之家› 项目编码规范

项目编码规范

项目编码规范
项目编码规范

项目编码规范

(一)命名规范

Java包、类的命名应尽量采用完整的英文描述符,一般采用小写英文字母,但类名、接口名以及任何非初始单词的第一个字母要大写,不能用完整英文描述的,应以该英文单词的前四个字母或能代表单词意思的缩写代替。具体如下:

(1)尽量使用完整的英文描述符;

(2)采用合适于相关领域的术语

(3)采用大小写混合使名字可读

(4)尽量少用缩写,确有需要的,要能表达其意义;

(5)避免使用长的名字(小于15个字母)

(6)避免使用类似的名字,或者是大小写不同的名字;

(7)避免使用下划线(除静态常量等);

举例如下:

包(packge) 采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的internet域名反转并接上包名。如:com.boyi.eim,com.boyi.oa.web 类(Class) 采用完整的英文描述符,所有单词的第一个字母大写。如:User,StuManager

接口(interface) 采用完整的英文描述符说明接口封装,所有单词第一个字母大写。名字后面加上后缀Dao,实体类实现接口加上后缀Impl

类变量:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。如:userName

参数:同上

获取成员函数:封装字段,被访问时调用get set方法

普通成员函数:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。

静态常量字段:全部采用大写字母,单词之间用下划线分隔。

循环计数器:通常采用字母I,j,k……………..

数组:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写

(二)代码注释

良好的注释习惯对于一支程序来说,是其易于解读的关键。也就是说,如果另一个编程人员从未见过这段代码,要在合理的时间内理解代码,需要知道哪些信息。并以此作为注释的依据。因此对于注释来说,需要注意以下几点:

(1)注释应该增加代码的清晰度;

(2)保持注释的简洁;

(3)在写代码之前写注释

(4)注释出为什么做了一些事,而不仅仅是做了什么

使用代码注释的目的:

(1)文字说明代码的作用(即为什么要用编写该代码,而不是如何编写);

(2)确指出该代码的编写思路和逻辑方法;

(3)人们注意到代码中的重要转折点;

(4)使代码的阅读者不必在他们的头脑中仿真运行代码的执行方法.

代码注释原则:

1. 用文字说明代码的作用:简单的重复代码做写什么,这样的注释几乎不能给注释增加什么信息.如果你使用好的命名方法来创建直观明

了的代码那么这些类型的注释绝对增加不了什么信息.

2. 如果你想违背好的编程原则,请说明为什么:有的时候你可能需要违背好的编程原则,或者使用了某些不正规的方法,.遇到这种情况

时,请用内部注释来说明你在做什么和为什么要这样做。技巧性特别高的代码段,一定要加详细的注释,不要让其他开发人员花很长时间来研究一个高技巧但不易理解的程序段。

3. 用注释来说明何时可能出错和为什么出错

4. 在编写代码前进行注释:给代码加注释的方法之一是在编写一个方法前首先写上注释.如果你愿意,可以编写完整句子的注释或伪代码.

一旦你用注释对代码进行了概述,就可以在注释之间编写代码.

5. 在要注释的代码前书写注释:注释一定出现在要注释的程序段前,不要在某段程序后书写对这段程序的注释,先看到注释对程序的理解会有一定帮助。如果有可能,请在注释行与上面代码间加一空行。

6. 纯色字符注释行只用于主要注释:注释中要分隔时,请使用一行空注释行来完成,不要使用纯色字符,以保持版面的整洁、清晰。

7. 避免形成注释框:用星号围成的注释框,右边的星号看起来很好,但它们给注释增加了任何信息吗?实际上这会给编写或编辑注释的人增加许多工作。

8. 增强注释的可读性,注释是供人阅读的,而不是让计算机阅读的。

1) 使用完整的语句。虽然不必将注释分成段落(最好也不要分成段落),但你应尽量将注释写成完整的句子。

2) 避免使用缩写。缩写常使注释更难阅读,人们常用不同的方法对相同的单词进行缩写,这会造成许多混乱,如果必须对词汇缩写,必须做到统一。

3) 将整个单词大写,以突出它们的重要性。若要使人们注意注释中的一个或多个单词,请全部使用大写字母。

9. 对注释进行缩进,使之与后随的语句对齐。注释通常位于它们要说明的代码的前面。为了从视觉上突出注释与它的代码之间的关系,请将注释缩进,使之与代码处于同一个层次上。

10. 为每个方法赋予一个注释标头:每个方法都应有一个注释标头。方法的注释标头可包含多个文字项,比如输入参数、返回值、原始作者、最后编辑该方法的程序员、上次修改日期、版权信息。

11. 当行尾注释用在上面这种代码段结构中时,它们会使代码更难阅读。使用多个行尾注释时(比如用于方法顶部的多个变量说明),应使它们互相对齐。这可使它们稍容易阅读一些。

12. 何时书写注释

1) 请在每个if语句的前面加上注释。

2) 在每个switch语句的前面加上注释。与if语句一样,switch语句用于评估对程序执行产生影响的表达式。

3) 在每个循环的前面加上注释。每个循环都有它的作用,许多情况下这个作用不清楚直观。

注释分类举例如下:

文档注释在紧靠接口、类、成员函数和字段声明的前面注释它们。例如:/** 客户:客户是我们将服务和产品卖给的人或机构。*/ 常规注释常规注释去掉不再使用但你仍想保留的代码。仍想保留是因为用户万一会改变想法,或者在调试过程中想让它暂时失效。/* 这部分代码因为已有替代代码,于2007-10-6注释。如果一年之后还未使用,将其删除。. . . (源代码)*/

单行注释在成员函数内采用单行注释,来说明业务逻辑、代码段和暂时变量的声明。注释符"//"后必须紧跟一个空格,然后才是注释信息。例如:// 遵照Sarek 的规定,//于2007-10-6修改。

(三)文件样式

所有的Java(*.java) 文件都必须遵守如下的样式规则:

(1)版权信息

版权信息或者开发者信息必须在java 文件的开头,比如:

/** * Copyright ? 2007 Beijing Boyi software Co. Ltd. * All right reserved. */

其他不需要出现在javadoc 的信息也可以包含在这里。

(2)包/引入(Package/Imports)

package 行要在import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import 行中包含了同一个包中的不同子目录,则应该用* 来处理。举例如下:

package https://www.doczj.com/doc/1017940006.html,.stats;

import java.io.*;

import java.util.Observable;

import hotlava.util.Application;

这里java.io.* 是用来代替InputStream、OutputStream 的。

(3)类(Class)

类的注释,一般是用来解释类的。例如:

/** * A class representing a set of packet and byte counters * It is observable to allow it to be watched, but only * reports changes when the current set is complete */

接下来是类定义,包含了在不同的行的extends 和implements

public class CounterSet exte nds Observable implements Cloneable,……-

(4)类成员(Class Fields)

接下来是类的成员变量:

/** * Packet counters */

protected int[] packets;

public proceted、private和package 定义的成员变量必须添加注释。

(5)存取方法(类的设置与获取成员函数)

接下来是类变量的存取的方法。如果只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上,如类的成员变量已经有注释,类变量的存取方法可以没有注释。例如:

public int[] getPackets() {

return this.packets;

}

public void setPackets(int*+ packets) , this.packets = packets; -……

要求说明的是,对于集合,加入成员函数来插入和删除项;另其它的方法不要写在一行上。

(6)构造函数

接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。

public CounterSet(int size){ this.size = size;}

(7)类方法(类的普通成员函数)

类的普通成员方法,举例如下:

/** * Set the packet counters

* param r1 - ……

* param r2 - ……

* ……

*/

protected final void setArray(int[] r1, int[] r2, int[] r3, int[] r4) throws IllegalArgumentException{

// Ensure the arrays are of equal size ……

}

(8)Main方法

普通类,考虑置入一个main()方法,其中包含用于测试那个类的代码,如果包含了main() 方法, 那么它应该写在类的底部。

(四)编码约定

对代码生成文档及编码的其他约定写法、习惯等,说明如下:

(1)文档化

用javadoc 来为类生成文档。不仅因为它是标准,这也是被各种java 编译器都认可的方法。使用@author 标记是不被推荐的,因为代码不应该是被个人拥有的。

(2)代码缩进

缩进应该是每行2个空格。不要在源文件中保存Tab字符,在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度。

(3)JSP文件命名

采用完整的英文描述说明JSP所完成的功能,尽可能包括一个生动的动词,第一个字母小写,如:viewMessage.jsp、editUser.jsp或者forumChooser.jsp等。

一般对应于所服务的对象加后缀Servlet或Service来命名,如:GetFileInfoServlet,UserService等。

(五)编程建议

针对Java开发中的一些习惯,提供以下一些编程建议。

(1)多使用StringBuffer对象

在处理String 的时候要尽量使用StringBuffer 类,StringBuffer 类是构成String 类的基础。String 类将StringBuffer 类封装了起来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。当我们在构造字符串的时候,我们应该用StringBuffer 来实现大部分的工作,当工作完成后将StringBuffer 对象再转换为需要的String 对象。如果我们用String 对象代替StringBuffer 对象的话,会花费许多不必要的创建和释放对象的CPU 时间。

(2)JSP页面标签使用

可以使用struts1自带标签,这样使项目代码具有统一性,缺点是不好升级(咱们似乎也不要求框架升级)。这里推荐大家可使用JSTL标签作为补充>、这类的标签都非常好用。

输出相应的代码

循环内容

(3)避免使用索引来调用数据库中间层组件返回的结果集

例如以下代码:

for(int i=1; i<=dt.getRowCount(); i++){

String field1 = dt.getField(i, 0).toString(); ……

}

而应用字段名来存取结果集:

for(int i=1; i<=dt.getRowCount(); i++){

String field1 = dt.getField(i, "field1").toString(); ……

}

这样在数据库设计更改或查询的SQL语句发生变化时,不会影响到程序的执行。

(4)Java里方法返回的设计

一般我们在编写一个方法时,经常要有复杂的返回值来表示方法的处理结果。经常使用的情景是:

1. 设定返回值是boolean,方便快捷。缺点是返回过于简单,没有描述信息。

2. 设定返回值是String,可以表示多种状态的返回,缺点同1过于简单。

3. 设定返回值是xml串,可表示丰富的信息,不过还需要解析,很麻烦。Json串与之相同,需要要转换,是一个道理。

4. 设定返回值是VO对象,可表示丰富的信息,不需要解析,熟悉直接调用可使用,诸多好处。处理复杂返回情景时常用方式。

5. 方法的参数是VO对象,方法中把处理结果放入VO属性中,这样返回值就是个String或者boolean就成了,也能够完成复杂返回。这样的方式很常见,因为能够实现的比较便捷,省去麻烦。但是会造成代码可封装性不强,因为方法调用者需要点进方法内部看代码才能够明白原来需要返回的信息都放入方法传入参数的对象里了。此方法与上面方法可根据场景选择使用,如用此方法请写好注释。

6. 方法返回类型是void,自定义异常对象在方法中抛出。Extend Exception即可。可以定义属性描述异常信息和返回信息。此方法看似另类但却相当好用,依据情况不同可自定义多个Exception。调用方法时使用try catch 捕获并分别处理。具有一定的局限性,一般在处理例外业务的时候比较常见。

(5)值传递与引用传递

值传递表示方法参数是基本数据类型;引用传递表示方法参数是一个对象。

Int a = 0;

Tools.add(a) ;//方法里:a++;

Test test = new Test(0);//对象有int属性a,初始化值为0。

Tools.add(test);//方法里:test.a++

System.out.println(test.getA());

Test test = new Test(0);//对象有int属性a,初始化值为0。

Tools.add(test);//方法里:test = new Test(1);

System.out.println(test.getA());

Test test = new Test(0);//对象有int属性a,初始化值为0。

Tools.add(test);//方法里:test = new Test(1); test.a++;

System.out.println(test.getA());

String a = “0”;

Tools.add(a);//方法里a = “1”;

System.out.println(a);

(6)Java里的比较

'=='是用来比较两个变量(基本类型和对象类型)的值是否相等的,如果两个变量是基

本类型的,那很容易,直接比较值就可以了。如果两个变量是对象类型的,那么它还是比较值,只是它比较的是这两个对象在栈中的引用(即地址)。

对象是放在堆中的,栈中存放的是对象的引用(地址)。由此可见'=='是对栈中的值进行

比较的。如果要比较堆中对象的内容是否相同,那么就要重写equals方法了,重写equals方法也要重写hashCode方法。

在定义一个类的时候,如果要实现对象的比较,也可实现Comparable接口并实现compareTo方法;

(7)数据字典处理

每个系统都有庞大的数据字典库,而很多工程师会在代码里写死这些字典的值。其实这样是不利于维护和查找的。

最好建立一个Constant类,专门处理数据字典与常量值的保存,把所有的属性值都设定为public static的。代码里任何地方的调用都可以使用Constant.属性名直接访问。尤其是一旦这些值发生突然变动,我们不至于进入代码一个个的找出来改,直接改动Constant类即可。

(8)缓存的使用规则

缓存是一把双刃剑,它的使用不能以一刀切的模式来看待。对于我们的系统,尤其是保险业务,要量体裁衣设定缓存策略。常用的缓存分为2种,一种是底层缓存,一种是业务层缓存,使用时究竟加在哪一个层级要根据实际情况定。

如果是系统的常量表,数据字典表,可作为底层缓存。

如是有一个业务结果反复被调用,并且该业务结果处理十分复杂,则可以用业务层缓存。

(9)对于系统重大的业务或技术功能要设定开关或者控制配置

凡是重大的流程或者重要的功能,最好设定一个开关或者控制的参数,如场景需要只调整这些配置即可对系统实施控制。例如对系统的缓存设定统一开关,用来控制是否使用缓存策略;对流程跳转的地方设定跳转参数,控制走向。

软件项目的编码--20140525

软件项目的编码 一、编码文档 编码阶段的产品是按照代码标准和规范编写的代码,必要的时候进行部署。编码提交的文档包括代码标准规范和源代码。 二、项目案例 项目案例名称:综合信息管理平台 项目案例文档:《综合信息管理平台编码规范及其代码说明》 1、导言 1.1 目的 该文档的目的是描述综合信息管理平台的编码规范和对代码的说明,其主要内容包括编码规范,命名规范,注释规范,语句规范,声明规范,目录设置,代码说明。 本文档的预期读者是开发人员,项目管理人员,质量保证人员。 1.2 范围 该文档定义了本项目的代码编写规范,以及部分代码描述和相关代码的说明。 1.3 术语定义 Class(类):Java程序中的一个程序单位,可以生成很多实例。 Packages(包):由很多类组成的工作包。 1.4 引用标准 (1)企业文档格式标准V1.1,北京长江软件有限公司。 (2) 1.5 参考资料 (1) 1.6 版本更新信息 本文档版本更新记录如表X-XXX所示。 表X-XXX 版本更新记录 2、编码书写格式规范 严格要求编码书写格式是为了使程序整齐美观,易于阅读,风格统一,程序员对规范书写的必要性要有明确的认识。建议程序使用Eclipse工具开发,格式规范预先在工具中设置。 2.1 缩进排版 4个空格作为一个缩进排版单位。 2.2 行长度 尽量避免一行的长度超过80个实际字符,用于文档中的例子应该使用更短和行长,长度一般不超过70个字符。 2.3 断行规则 当一个表达式无法容纳在一行内时,可以依据如下一般规则断开: (1)在一个逗号后面断开。

(2)在一个操作符前面断开。 (3)尽量选择较高运算级别处断开,而非较低运算级别处断开。 (4)如果是以上规则导致代码混乱或者使代码都堆挤在右边,那就代之以缩进8个空格。 2.4空行 空行将逻辑相关的代码段分隔开,以提高可读性。下列情况应该总是使用两个空行:(1)一个源文件的两个片段(section)之间。 (2)类声明和接口声明之间。 下列情况应该总是使用一个空行: (1)两个方法之间。 (2)方法内的局部变量和方法的第一条语句之间。 (3)块注释或单行注释之间。 (4)一个方法内的两个逻辑段之间。 3、命名规范 命名规范使程序更易读,从而更易于理解。它们也可以提供一些有关标识符功能的信息,以助于理解代码。 3.1 包(Package) 一个唯一包名的前缀总是全部小写的ASCII字母并且是一个顶级域名,通常是com、edu、gov、mil、net、org,或1981年ISO3166标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门(department)、项目(project)、机器(machine)或注册名(login names)。如:com.sun.eng 3.2 类(Class) 类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。尽量使用类名简洁而富于描述性。使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL、HTML)。 3.3 接口(Interface) 大小写规则与类名相似。 3.4 方法(Method) 方法名是一个动词,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。 3.5 变量(Variable) 采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。变量名不应该以下划线或美元符号开头,尽管这在语法上是允许的。变量名应该易于记忆,且能够指出其用途。尽量避免单个字符的变量名,除非是一次性临时变量。 3.6 实例变量(Instance Variable) 大小写规则和变量名相似,除了前面需要一个下划线。 3.7 常量(Constant) 类常量和ANSI常量的声明,应该全部大写,单词间用下划线隔开。 4、声明规范 程序中定义的数据类型,在计算机中都要为其开辟一定数量的存储单元,为了不造成资源的不必要的浪费,所以按需定义数据的类型,声明包、类以及接口。 4.1 每行声明变量的数量 推荐一行一个声明,因为这样有利于写注释。不要将不同类型变量的声明放在同一行! 4.2 初始化

项目编码规范

项目代码编程规范 1.应用范围 本规范应用于采用J2EE规范的项目中,所有项目中的JAVA代码(含JSP,SERVLET,JAVABEAN,EJB)JS代码、HTML代码及数据库设计均应遵守这个规范。同时,也可作为其它项目的参考。 2.设计类和方法 2.1. 创建具有很强内聚力的类 方法的重要性往往比类的重要性更容易理解,方法是指执行一个独立逻辑的一段代码。类常被错误的视为是一个仅仅用于存放方法的容器。有些开发人员甚至把这种思路作了进一步的发挥,将他们的所有方法放入单个类之中。 之所以不能正确的认识类的功能,原因之一是类的实现实际上并不影响程序的执行。当一个工程被编译时,如果所有方法都放在单个类中或者放在几十个类中,这没有任何关系。虽然类的数量对代码的执行并无太大的影响,但是当创建便于调试和维护的代码时,类的数量有时会带来很大的影响。 类应该用来将相关的方法组织在一起。 当类包含一组紧密关联的方法时,该类可以说具有强大的内聚力。当类包含许多互不相关的方法时,该类便具有较弱的内聚力。应该努力创建内聚力比较强的类。 大多数工程都包含许多并不十分适合与其他方法组合在一起的方法。在这种情况下,可以为这些不合群的方法创建一个综合性收容类。 创建类时,应知道“模块化”这个术语的含义是什么。类的基本目的是创建相当独立的程序单元。 2.2. 创建松散连接和高度专用的方法 2.2.1.使所有方法都执行专门的任务 每个方法都应执行一项特定的任务,它应出色的完成这项任务。应避免创建执行许多不同任务的方法。 创建专用方法有许多好处。首先调试将变得更加容易。 2.2.2.尽量使方法成为自成一体的独立方法 当一个方法依赖于其他方法的调用时,称为与其他方法紧密连接的方法。紧密连接的方法

软件项目代码编码规范

变更履历

目录 1总则 (4) 2源代码完整性保障 (4) 3源代码的授权访问 (4) 4代码版本管理 (5) 4.1系统初验 (6) 4.2试运行 (6) 4.3系统终验 (7) 4.4系统验收标准 (7)

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

项目编码规则

□机密文件■管制文件□一般文件 主题: 项目编码规则 文件编码: 版本:V5.2 机种:———— 生效日期:发行日生效PAGE 0 OF 13 (变更历史记录): 变更次数变更内容变更人变更日期 0 首次发行,第一版1999.12.5 1 物料编码规则维护2000.5.33 2 项目编码规则维护,变更码长和分类、取消延申码,2001.2.9 3 项目编码规则维护, 2001.6.25 4 项目编码规则维护, 2002-4-29 5 项目编码规则维护, 2002-5-16 6 项目编码规则维护,数码产品2002-8-13 7 项目编码规则维护,笔记本2003-3-7 8 项目编码规则维护,笔记本编码2003-12-29 9 根据现有业务流程进行版本升级徐斐2004-2-28 10 项目编码规则维护,PTO编码徐斐2004-5-30 分发部门□研发中心□生产管理□财务□行政部 □采购□市场□品管部□信息管理部□商务□计划物控□ □客服□产品销售□□ 会签部门 (部门长) 批准审核拟稿TCL电脑科技(深圳)有限公司

目录 1 目的. (3) 2 范围. (3) 3 权责. (3) 3.1信息管理部 (3) 3.2研发部 (3) 3.3产品管理部 (3) 3.4其它部门 (3) 3.5 TCL万维科技(深圳)有限公司 .......................................................................... 错误!未定义书签。4定义 . (3) 5 TCL电脑科技有限责任公司项目编码规则 (4) 5.1 成品编码规则 (4) 5.2零部件的编码规则 (6) 5.3 PC主机电脑及外设所用项目的选项类项目编码规则 (10) 5.4 笔记本主机电脑及外设所用项目的选项类项目编码规则 (12) 5.5固定资产编码规则 (17) 5.6办公用品编码规则 (18) 5.7促销品编码规则 (18) 5.8客服的服务用品编码规则 (18) 5.9外协项目的编码规则 (18) 5.9工程物料编码规则 (18) 6 TCL万维科技(深圳)有限公司项目编码规则 (18) 7项目编码规则的维护. (19) 8相关文件. (19)

工程项目编码规则及管理办法

中船重工船业有限公司工程项目编码规则及管理办法 1. 范围 本办法规定公司各种工程编码分类和编码实施规则及其管理办法。 本规则适用于公司内部所有工程项目的编码计划编制、领发料、财务核算、计算机信息处理等。 2. 工程编码类别及其编制规则说明 2.1工程编码类别分为船舶产品工程、非船产品工程、基建工程、自营工程、设备大修、设备维修、设备技改、安全设施及其它工程。 2.2产品工程编码的编制方法 2.2.1 大吨位运输船舶(千吨位以上)工程号的编制方法 2.2.1.1 编码共6 位。前两位为船舶产品载重吨位或承载体积前两位数;第三位为同载重吨位船舶型号,无型号用0 表示,有型号时分为Ⅰ型、Ⅱ型、Ⅲ型等,分别用1、2、3表示,以此类推;第四、五、六位为公司大吨位运输船舶接单顺序号。 2.2.1.2 图示

例如:公司接单第31 艘70000 吨散货船工程编码为:700031 。 公司接单第18 艘33000 吨散货Ⅰ型船工程编码为:331018 。 2.2.2 商务船工程号的编制办法 2.2.2.1 编码共6位。前两位统一名称为SW(商务);第三、四两位为商务船的长度,五、六两位为商务船接单顺序号。 2.2.2.2 图示 例如:公司接单第1 艘35 米长的商务船,工程号为:SW3501 2.2.3 小吨位(百吨位)运输船工程号的编制办法 2.2. 3.1 编码共6 位。前两位统一名称为YS(运输);第三、四两位为运输船的吨位前两位,五、六两位为公司小吨位运输船接单顺序号。 2.2. 3.2 图示 例如:公司接单第1 艘载重吨为20 吨的运输船,工程号:YS2001

项目开发及编码规范

项目开发规范文档修订历史记录

1.简介 目的 1、用于规范指导开发组进行开发 2、便于成员间的沟通与交流。 3、有助于项目质量和稳定。 4、为后期维护提供支持 2. 项目开发流程 项目开发过程归纳分为以下步骤: 1. 建立SVN项目版本控制。包括文档,源码,Lib包等。 2. 了解需求,并对需求文档的书写。(见文档结构规则附录)。 3. 详细设计文档。(见文档结构规则附录)。 功能模块设计,重要模块的算法设计。 数据库设计等。 根据需求定义开发平台及环境。 4. 编码。 搭建开发平台,配置开发环境。 编码。 单元测试案例。 5. 书写软件安装手册文件,数据库脚本文件,以及注意事项(release notes)。 6. 交互测试组测试。根据测试组测试结果是否回归第4步(测试回归最好不要超过2 次)。 7. 测试通过,交付上线使用。 维护手册 使用手册

3. 代码规范 Java 代码规范 3.1.1 Java类名 类名可由:英文字母,数字,下划线组成。(数字,下划线不能够开头) 类名由一个或者多个单词组成。单词通常要求简洁明了达意。能够通过类名能够大致了解此类的作用和用途。 类名要求首字母大写,多个单词组成类名时,单词的首字母要求大写。 建议:类名不要过于简单或者太长。可以对单词采用简化的名称:入: Number 简化为:num 。 3.1.2 Java类结构 类仅作为数据结构,没有行为,他封装了一组或者相似的一些行为方法。所以一个类尽量功能单一,或者功能类似共有行为的。一个类不要过于庞大。 通常情况下: 一般逻辑类中应该有构造方法和main方法,main方法中应该有测试代码。 每个类应该有 toString() 方法。 3.1.2.1 包和引入语句 在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟引入语句。 报名的定义全部是小写字母。具体定义依据项目而定。 引入包时候,同一类型的归纳到一块,用空行隔开。例如: import 3.1.2 类注释 Java类开头应该有相应的注释:类版本描述,作者签名,日期时间,公司备注,类的功能作用相关描述等。(详细查看:注释) 3.1.2.2 类成员变量 a) 类变量要求放在类的开始声明。一行声明一个。 b) 变量名称首字母要求小写。其他命名规则类似与类名。 c) static , final 类型的变量,字母要求全部大写。 d) 尽量在声明局部变量的同时初始化。 e) 避免局部变量和成员变量同名,覆盖了成员变量。 f) 尽量变量私有化,缩小变量的作用域。 3.1.2.3 类成员方法 a) 方法名命名规则类似于成员变量命名规则。 b) 成员方法尽量私有化。

项目编码管理规定

项目编码管理规定 1 目的 为了规范集团项目编码管理,明确各编码规则的使用范围,特制订本规则。 2 适用范围 本规则适用于集团公司各单位及所全资子公司,合资公司参照执行。 3 项目编码规则 项目编码长度为12位,根据项目性质的不同,分别制订不同的编码规则。 3.1营销项目编码规则 3.1.1营销项目已立项后,由市场管理部下发唯一的项目名称及项目编码;营销项目转化为施工项目时,延用营销项目的名称和编码。 3.1.2参考《集团公司营销项目立项及管理办法》(ZD-ZH-030/V0-2013),具体方法如下: 3.1.3 项目编码共12位,名称标准为“产业单位+客户单位/区域+产品/服务内容+年份/批次”a)第一至二位为字母,代表产业单位,取自单位名称拼音; b)第三至四位为字母:代表销售区域/办事处,取自区域/办事处名称拼音; c)第五至八位为字母:代表项目主要产品及服务内容,取自集团产品及服务目录三级、四级目录拼音,产品目录为三字内容时,四位字母代码第一位为大写字母“O”,项目服务内容为多个产品目录组合内容时,以主要产品目录名称编制; d)第九至十二位为数字:代表年份及批次,以上字段相同时加以区别。

3.2 关联交易项目编码规则 3.2.1关联交易项目编码规则为:“营销项目编码(复制)”+“ERP法人代码(3位)”+“ERP 事业部代码(2位)” 3.2.2复制的营销项目编码与ERP法人代码(3位)之间用“-”符号连接 3.3公共费用项目编码规则 3.3.1公共费用项目使用范围 a)产业单位无法按项目进行归集,需要按一定原则进行分摊的成本; b)职能单位发生的费用; c)营销单位无法归集到营销项目的费用。 3.3.2公共费用项目统一使用四个零“0000”。 3.4虚拟项目编码规则 3.4.1虚拟项目使用范围 a)以生产、加工、制造为主要业务的单位,包括管材集团、油气井工具中心、陶粒公司;b)以非施工类服务为主要业务的单位,包括软件公司、集团总部。 3.4.2虚拟项目统一使用十二个零“000000000000”。 3.5期初上线项目编码规则 3.5.1期初上线项目使用范围 PA项目期初上线时期,未进行营销立项的项目使用 3.5.2国内期初上线项目统一使用十二个九“999999999999” 3.5.3国际期初上线项目按法人分别建立,编码规则为“ERP法人代码(3位)”+“9个0” 4 子项目编码规则 子项目编码长度为7位,根据子项目的性质不同,制订不同的编码规则。 4.1施工子项目编码规则 4.1.1施工子项目编码规则为“事业部唯一识别码(1位)”+“年份(2位)”+“流水号(4 2

编码规范以开发手册范本

1.软件开发手册 1.1.围 本标准规定了基于公司信息系统构建平台进行业务应用系统开发的编程格式规,主要包括命名规、代码注释、性能、以及常用语句的书写要求和约束等。统一规的格式有利于项目的交付和后续维护。 1.2.引言 1.1.1.简介 所有的程序开发手册都包含了各种规则。一些习惯自由程序的人(例如 Java 程序员)可能对这些规则很不适应,但是在多个开发人员共同协作的情况下,这些规则是必需的。这不仅仅是为了开发效率,而且也为了测试和后期维护。 良好的编码习惯有助于标准化程序的结构和编码风格,使源代码对于自己和别人都易读和易懂。在开发周期中越早使用恰当的编码规定,将会最大程度的提高项目的生产率。良好的编码习惯除了代码格式,详细的注释外,还应该包括使用有助于提高程序效率的编码方式。 规的开发有助于提高源码的可读性,可维护性,对于提高项目的整体效率更是不可缺少的(尤其是团队开发)。 1.1. 2.目的 本文是一套面向Java programmer 和Java developer进行开发所应遵循的开发规。按照此规来开发Java程序可带来以下益处: ●代码的编写保持一致性, ●提高代码的可读性和可维护性, ●在团队开发一个项目的情况下,程序员之间可代码共享, ●易于代码的回顾。 1.3.源程序 1.3.1.源程序命名 Java源程序的名字应该是这种形式:ClassOrInterfaceName.java。ClassOrInterfaceName 应该是在Java源程序中定义的 class或者interface的名字(关于classes和interface的命

名规请参考3.2)。源程序的文件名后缀通常为.java。 1.3. 2.供发布的文件 如果文件编译后,需要用打包的形式发布,那么这个包的名字应该是有代表性的(例如应该是这个模块或者这个文件所在单元的名字)。通常包的扩展名有 *.jar(推荐使用)或者 *.zip、*.ear、*.war等。 1.3.3.源文件的组织 一个Java源文件应该包含如下的元素,并按照以下顺序书写: 1)版本信息和声明 2)包的声明 3)引用声明 4)类或者接口的声明 以上元素之间以至少一个空行来分隔。 1.3.3.1.版本信息和声明 每一个源程序应该以一个包含版本信息和声明的块为开始。 例如: /** * application name: sample1 * application describing: this class handels the request of the client * copyright: Copyright ? 2002 金质工程所有 * company: neusoft * time: 2002.02.25 * * author Brunce * version ver 3.1 */

华为软件开发规范

软件开发规范 1 排版 11-1:程序块要采用缩进风格编写,缩进的空格数为4个。 说明:对于由开发工具自动生成的代码可以有不一致。 11-2:相对独立的程序块之间、变量说明之后必须加空行。 示例:如下例子不符合规范。 if (!valid_ni(ni)) { ... epssn_index; repssn_ni = ssn_data[index].ni; 应如下书写 if (!valid_ni(ni)) { ... epssn_index; repssn_ni = ssn_data[index].ni; 11-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。 示例: = NO7_TO_STAT_PERM_COUNT_LEN + STAT_SIZE_PER_FRAM * sizeof( _UL ); act_task_table[frame_id * STAT_TASK_CHECK_NUMBER + index].occupied

= stat_poi[index].occupied; act_task_table[taskno].duration_true_or_false = SYS_get_sccp_statistic_state( stat_item ); report_or_not_flag = ((taskno < MAX_ACT_TASK_NUMBER) && (n7stat_stat_item_valid (stat_item)) && (act_task_table[taskno].result_data != 0));

项目编码规范编写指南

项目编码规范 1 命名规范 1).包名采用域后缀倒置的加上自定义的包名,采用小写字母。 在部门内部应该规划好包名的范围,防止产生冲突。部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。 格式: com.huawei.产品名.模块名称 com.huawei.部门名称. 项目名称 示例: Relay模块包名 com.huawei.msg.relay 通用日志模块包名 com.huawei.msg.log 2). 类名和接口使用类意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。 示例: OrderInformation, CustomerList, LogManager, LogConfig 3). 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。 示例: private void calculateRate(); public void addNewOrder(); 4). 方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构。格式: get + 非布尔属性名() is + 布尔属性名() set + 属性名() 动词() 动词 + 宾语() 示例: public String getType(); public boolean isFinished(); public void setVisible(boolean); public void show();

public void addKeyListener(Listener); 5).属性名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同。 示例: private customerName; private orderNumber; private smpSession; 6). 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 final static 修饰。 示例: public final static int MAX_VALUE = 1000; public final static String DEFAULT_START_DATE = "2001-12-08"; 7). 属性名可以和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时使用 this 引用,引用静态成员变量时使用类名引用。 示例: public class Person { private String name; private static List properties; public void setName (String name) { https://www.doczj.com/doc/1017940006.html, = name; } public void setProperties (List properties) { Person.properties = properties; } } 8).如果函数名超过15 个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名。 示例: getCustomerInformation() 改为 getCustomerInfo() 2 程序注释规范 1)、基本注释(必须加)

java项目团队开发规范

项目团队开发规范

修订历史记录

目录 1引言 (6) 1.1 编写目的 (6) 1.2 预期读者 (6) 1.3 编写背景 (6) 2概述 (7) 2.1 目标 (7) 2.2 修改及完善 (7) 3详细规范 (7) 3.1 使用的工具 (7) 3.2 框架设计 (7) 3.3 包目录 (8) 3.4 编码规范 (10) 3.4.1 目的 (10) 3.4.2 依据 (10) 3.4.3 具体规范 (10) 3.4.3.1 编码风格 (10) 3.4.3.1.1 缩进 (10) 3.4.3.1.2 空格 (11) 3.4.3.1.3 对齐 (12) 3.4.3.1.4 空行 (12)

3.4.3.1.5 代码长度 (13) 3.4.3.1.6 行数 (13) 3.4.3.1.7 注释 (14) 3.4.3.2 代码效率 (17) 3.4.3.2.1 综述 (17) 3.4.3.2.2 具体实现 (17) 3.4.3.3 异常处理 (17) 3.4.3.3.1 处理CHECK 异常与UNCHECK异常 (17) 3.4.3.4 程序调试 (17) 3.4.4 日常交流 (18) 3.4.4.1 互相促进 (18)

1引言 1.1 编写目的 本文档作为项目团队开发规范的说明书,描述了项目开发过程中的使用的工具,框架,代码编写规范及注意问题,作为项目团队建设,开发及测试工作的依据。 1.2 预期读者 本文档的预期读者包括以下几类: ?项目组长 ?项目组全体成员 1.3 编写背景 根据公司现有的开发状况,决定组件稳定的项目开发团队,制定全体团队成员共识的开发规范,有助于提高项目开发的效率、项目团队整体水平的提升。

软件项目https://www.doczj.com/doc/1017940006.html,编码规范-模板

.NET编码规范 .NET编码规范 版本:V1.0

.NET编码规范 目录 1介绍 (1) 1.1目的 (1) 1.2范围 (1) 1.3参考文档 (1) 2规范概述 (1) 3规范详述 (1) 3.1文件组织 (1) 3.1.1源文件 (1) 3.1.2目录安排 (2) 3.2缩进 (2) 3.2.1分行 (2) 3.2.2空白 (2) 3.3注释 (3) 3.3.1块注释 (3) 3.3.2单行注释 (3) 3.3.3文档注释 (3) 3.4变量声明 (4) 3.4.1每行声明的数量 (4) 3.4.2初始化 (4) 3.5类和接口的声明 (4) 3.6命名约定 (5) 3.6.1大写风格 (5) 3.6.2命名规则 (6) 3.6.3class,struct和namespace命名规则 (6) 3.6.4interface命名规则 (6) 3.6.5enum命名规则 (6) 3.6.6域命名规则 (7) 3.6.7参数命名规则 (7) 3.6.8变量命名规则 (7)

.NET编码规范 3.6.9方法命名规则 (7) 3.6.10属性命名规则 (7) 3.6.11事件命名规则 (8) 3.7代码细节规范 (8)

1 介绍 1.1 目的 本文件的目的是描述用.NET编写代码过程中应遵循的规范,以确保编写出强壮可靠、符合规范的应用程序。虽然这里的代码示例是用C#编写的,但如果使用另外一种编程语言,其中的大多数规则和原理也是适用的。对于.net开发人员,应力求遵守此文档中的规范,代码审查时,此文档将作为重要的参考依据。 1.2 范围 本文件适用于用.NET来实现的软件产品在编码实现过程中应遵循的规范。 1.3 参考文档 [说明本文件的参考文档。] 2 规范概述 本规范为实现过程中用.NET来进行编码时应遵循的规范,主要内容包括:文件组织、缩进、注释、变量声明、类和接口的声明、命名约定及代码细节规范。 在实现过程中的编码实现,代码走查活动中使用到此规范。 3 规范详述 3.1 文件组织 3.1.1 源文件 把每个类都放在单独的文件中,文件名字和类名一致(用.CS作为扩展名)。严禁将多个命名空间/类放在同一个源文件中(https://www.doczj.com/doc/1017940006.html,自动生成的除外)。

软件开发项目管理

管理目标 1、所有关系人清晰明确地了解项目的需求和期望,努力做到满足项目所有关系人的不同需求;项目关系人包括:项目团队成员和项目团队外(内部/外部客户,内部/外部合作伙伴,经销商/客户等)。 2、项目管理三要素平衡(时间/成本/质量),即开发项目按需按时按质的完成。 3、目标:功能满足需求,设计支持变化,开发快速迭代,成果持续交付。 执行概述 1、建立有效的工作流程保证项目的顺利进行,初期使用传统RUP过程,引入部分敏捷方法, 团队磨合完成后逐步实现敏捷开发全流程管理。 2、明确项目目标,制定具有可行性的项目计划,有效明确的分解项目需求。 3、跟踪设计/开发/测试/回归/发布全流程,推动项目按预定计划执行。 4、解决项目过程中出现的问题和冲突,一般集中在需求不明/工作量或时长/开发难度/跨 部门协调等几个方面。 5、调动开发团队的积极性,创造力,推动团队成员在项目过程中的学习成长。 6、风险识别、风险控制以及风险的预案。 项目管理 1、需求阶段 对项目进行技术可行性分析、技术评估、成本评估以及风险评估。 与需求提出方的代表进行需求讨论,明确项目的目标、价值。 确定项目范围、功能及优先级。 组建项目团队,特别要搞清楚项目的关键人。 项目启动会议,相关的关系人都必须参加。 2、设计阶段 根据确认后的软件需求规格说明书,制定项目进度计划,工作任务分解(WBS);资源申请,项目涉及到的开发资源、测试资源、设计资源(包括人员和软硬件资源);数据库设计;系统设计;文档(包括系统用例、Demo、测试用例等);评审会议。 设计阶段结果交付一般为系统用例/系统原型/系统设计文档(概要设计和详细设计)/数据库设计文档等。 该阶段交付成果需要进行评审。 3、执行阶段(开发和测试) 准备开发环境、测试环境。 跟踪,推动项目按计划进行。 项目成员以日报/项目负责人以周报的形式通报各关系人当前项目的进展情况。 按里程碑对阶段成果进行评估,以确保该阶段完成的质量。 代码审核,包括CS审核、SQL审核、WEB审核等。 对需求变更进行控制管理。 测试阶段BUG响应及改进、收集反馈意见。 对项目风险进行管理。 4、发布阶段 包括制定项目发布计划,用户培训,发布上线。 5、试运行阶段 数据监控(日志、服务器状态),根据监控出现的问题,及时进行处理,改进性能问题,特定情况执行补丁升级。

软件开发规划项目规范标准

软件项目开发和管理规范 本文阐述软件项目开发和管理的流程规范,作为软件项目开发的高级指引,本规范定义了软件开发的各个阶段以及每个阶段的工作活动和工件,但不对活动和工件的细节作过多规定。在项目开发过程中,每个项目根据自身的需要确定这些活动和工件的细节。 项目阶段 图2-1 项目开发的五个阶段 ?启动阶段 这个阶段的工作目的是决定一个项目是否需要启动。为了达到这个目的,首先要明确项目的总体战略目标,对项目的需要建立认同。即确定到底需要做什么、开发什么产品或提供什么服务,以及需要解决什么样的问题和需要满足客户或市场的什么要求等,同时还要总结项目工作的范围、所需资源、大约开支、各种风险,以及该项目不执行的其他替代选择等。这些代表了对整个项目目标从战略角度和宏观层次所进行的分析,通过项目的意向书总结出来,由此确证客户或项目发起人和赞助者的要求与期望,并帮助他们判定项目是否上马。项目意向总结书的通过及项目被批准上马形成了这个项目的起始点。 ?计划阶段 这个阶段的工作是为整个项目做计划。项目开始后,首先要确定项目的具体范围,明确定出项目到底要做什么,总结、归纳并定出产品的功能。然后进一步制定项目的计划,列出每项具体工作,并建立所有工作任务的重要性及顺序;确定每项工作的执行人和所需资源;根据人员的配置和能力设定各项工作和整个项目的完成时间表。 ?执行阶段

这个阶段的工作是通过执行项目的计划来完成项目的任务。它包括落实一切所需资源,如:人员、设备、费用、技术、信息,由管理者领导全体项目参与者开展各项工作。同时跟踪各项具体工作和整个项目的进度,定期向全体项目人员及项目的发起人报告项目状态。 ?控制阶段 这个阶段的工作是确证项目工作的结果符合项目的计划。它通过对项目结果的衡量和审核,与项目计划所期望的结果进行比较,找出实际结果与计划的差别,并制定处理措施。这个阶段的工作还包括对项目进程中出现的任何更改要求进行审核和批准。同时调解项目进程中出现的各种问题,如:对缺乏的资源的补偿调节;对项目的进度表及各项具体工作的优先级或顺序的修订。 ?结束阶段 这个阶段的工作是确保项目的最终结果或提交物达到计划的要求,并对完成的结果作可接受的确认。还包括在项目完成之后的收尾工作,对整个项目的经历进行总结,修订项目文档,用户培训等。 阶段完成标志 在项目开发过程中,当一个阶段完成后才会开展下一个阶段的工作;另外,“某个阶段完成”通常被定义为项目的一个里程碑,里程碑标识了项目的进度,它是项目开发和控制的重要参考,对整个项目有重要的意义。因此,“确证某个阶段是否已经完成”的工作非常有重要。 ?每一个阶段的结束以它特定任务的完成为象征 只有当某个阶段中被规定的所有工作任务都完成了,这个阶段才算真正结束,整个项目才可以进入到下一个阶段中去。反过来说,要是阶段中某个任务没有全部完成,按照项目的定义,整个阶段就不能算是完成,因此项目就不能进入到下一个阶段去。 ?衡量阶段结束的工作结果必须是实在的交付品 阶段中的任务是否完成是透过任务活动中产生的交付品来体现的,交付品必须是可交付的、非抽象的、实质的并且可以通过用衡量的方法来判断是否真正地完成了的具体事物。如:某一阶段的完成是以建造一个样品或完成某分文件作为象征。任何项目阶段的结束,都应该有这样的实质性东西的完成作为象征。 ?跨阶段的进程以阶段结尾的合格验证和审核来决定 当一个阶段结束时,在进入到下一个阶段之前所需要做的工作应包括对交付品进行合格验证,并检查这一阶段的工作质量和效率,由此判断是否可以进入到下一个阶段。这些检验象征了一个阶段的结尾终点,表示项目的进程离开了上一个阶段而进入了下一个阶段。

项目管理的编码规则

附录 1项目管理编码方案 1.1项目分类 1.1.1编码规则 项目分类采用两层两位字符组合码,1~9加上A~Z(E、I、O及特殊字符除外)。 1.1.2代码表

1.1.3编制说明

项目分类参考了现行的项目分类代码标准。同时在大修、科技项目分类中还参考了《国家电网公司设备大修工作管理办法(试行)》、《国家电网公司技术改造工作管理办法(试行)》相关项目类型的定义及规定。 目前国家电网公司以及各网省公司还保留着部分抽水蓄能电厂以及用于调峰调频、调峰填谷的电厂,为满足这些电力工程的管理需要,在项目分类“基建项目”类中保留了“电源项目”类。 1.2项目编号 1.2.1基建、技改类项目编码规则 1.2.1.1编码规则 项目编号采用4层10位代码结构。 表中: ?N标识该位为数字代码;X标识该位为数字+字母的混合代码。 ?项目类别引用项目类型列表中的2位分类代码。 ?第3、4位代表项目申请单位所属的网省公司,用两位数字标识,直接 引用《国家电网公司直属单位代码》(《国家电网公司直属单位代码》 见人力资源管理编码方案5.1 国家电网公司直属单位代码。)。 ?第5、6位代表项目申请单位,以两位字符标识,由各省自行定义。 ?第7、8、9、10位代表项目编号,以四位字符标识。项目编号流水号允 许实施过程中增加自定义属性信息。 ?项目编号中,当前面代码元素中的一个层次发生变化时,项目编号需重 新开始编号。 1.2.1.2编制说明 基建、技改类项目的项目代码结构包括“项目小类”、“网省公司代码”、“申请单位代码”和“项目编号”四个部分。 与大修、科技、营销类项目编码方案相比,本方案中不包含“立项申请年度”。关于年度问题,编码组讨论了“项目申请年度”、“立项批准年度”等不同的时间点,若采用“项目申请年度”,则从做项目滚动规划到项目申请这之间的时间内,就不能赋予项目相应的编号;若采用“项目申请书编制年度”或“项目开工时间”,也存在同样的问题;采用“立项批准年度”,因有些项目有时会在开

项目编码规范

项目编码规范 (一)命名规范 Java包、类的命名应尽量采用完整的英文描述符,一般采用小写英文字母,但类名、接口名以及任何非初始单词的第一个字母要大写,不能用完整英文描述的,应以该英文单词的前四个字母或能代表单词意思的缩写代替。具体如下: (1)尽量使用完整的英文描述符; (2)采用合适于相关领域的术语 (3)采用大小写混合使名字可读 (4)尽量少用缩写,确有需要的,要能表达其意义; (5)避免使用长的名字(小于15个字母) (6)避免使用类似的名字,或者是大小写不同的名字; (7)避免使用下划线(除静态常量等); 举例如下: 包(packge) 采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的internet域名反转并接上包名。如:com.boyi.eim,com.boyi.oa.web 类(Class) 采用完整的英文描述符,所有单词的第一个字母大写。如:User,StuManager 接口(interface) 采用完整的英文描述符说明接口封装,所有单词第一个字母大写。名字后面加上后缀Dao,实体类实现接口加上后缀Impl 类变量:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。如:userName 参数:同上 获取成员函数:封装字段,被访问时调用get set方法 普通成员函数:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。 静态常量字段:全部采用大写字母,单词之间用下划线分隔。 循环计数器:通常采用字母I,j,k…………….. 数组:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写 (二)代码注释 良好的注释习惯对于一支程序来说,是其易于解读的关键。也就是说,如果另一个编程人员从未见过这段代码,要在合理的时间内理解代码,需要知道哪些信息。并以此作为注释的依据。因此对于注释来说,需要注意以下几点: (1)注释应该增加代码的清晰度; (2)保持注释的简洁; (3)在写代码之前写注释 (4)注释出为什么做了一些事,而不仅仅是做了什么 使用代码注释的目的: (1)文字说明代码的作用(即为什么要用编写该代码,而不是如何编写); (2)确指出该代码的编写思路和逻辑方法; (3)人们注意到代码中的重要转折点; (4)使代码的阅读者不必在他们的头脑中仿真运行代码的执行方法. 代码注释原则: 1. 用文字说明代码的作用:简单的重复代码做写什么,这样的注释几乎不能给注释增加什么信息.如果你使用好的命名方法来创建直观明 了的代码那么这些类型的注释绝对增加不了什么信息. 2. 如果你想违背好的编程原则,请说明为什么:有的时候你可能需要违背好的编程原则,或者使用了某些不正规的方法,.遇到这种情况 时,请用内部注释来说明你在做什么和为什么要这样做。技巧性特别高的代码段,一定要加详细的注释,不要让其他开发人员花很长时间来研究一个高技巧但不易理解的程序段。 3. 用注释来说明何时可能出错和为什么出错 4. 在编写代码前进行注释:给代码加注释的方法之一是在编写一个方法前首先写上注释.如果你愿意,可以编写完整句子的注释或伪代码.

某公司软件开发中的标识规范标准

标识规范 沈阳东大阿尔派软件股份有限公司(版权所有,翻版必究)

文件修改控制

目录 1. 目的 2. 适用范围 3. 术语和缩略语 4. 标识规则 4.1 标识对象 4.2 文档版本控制 4.3 发行版本控制 4.4 软件项标识方式 4.5 不合格品的标识 5. 引用文件 5.1 NW602102《文件编号规定》 6. 质量记录 6.1 NR602101A“文件备份清单”

1.目的 为便于标识、控制和追踪软件开发过程中产生的各种软件项及介质,特制定本文件。 2.适用范围 适用于软件开发过程中所需的各种软件项及介质。 3.术语和缩略语 本程序采用NQ402100《质量手册》中的术语和缩略语及其定义。 4.标识规则 4.1 标识对象 标识对象主要包括:技术文档(可行性分析报告、需求分析报告、开发计划、质 量计划、系统设计报告、技术报告、测试计划等)、提交产品(计算机程序、释 放产品等),主要通过介质标识和版本控制以便于存取和查阅。 4.2 文档版本控制 对于计划性文档、技术文档和用户文档,其版本按修改的先后顺序确定。新生成 的文档第一次发行为第一版,修改后第二次发行为第二版,以此类推。 4.3 发行版本控制 最终完成的软件版本用三位符号表示:“s.xy”。各符号位的含义如下: 1)“y”为第二次版本号,表示纠正错误时的版本升级,用一位数字表示:“1~9”,对上一次产品或项目中的缺陷做修正,第二次版本号增加;

2)“x”为第一次版本号,表示增加功能时的版本升级,用一位数字表示:“0~9”。与上一产品或项目相比,功能进行了小量的增加或修正时,第一次 版本号增加,第二次版本号为零,第二版本号为零时可以省略不写; 3)“s”为主版本号,用一位数字表示:“1~9”。对产品作重大调整,或与已发行的上一产品相比,在功能与性能上有较大改善时主版本号增加,次版本号 为零,产品或项目概念全新,第一次完成,版本号为1.0。 4.4 软件项标识方式 4.4.1 技术文档标识方式 技术文档的标识体现在相应文件的封面上,由开发人员参照相应文档模板的格式 要求,对技术文档进行标识。 技术文档编号用十五位符号表示:“xxxxxxxxxxxttnn”。各符号位的含义如下:1)“xxxxxxxxxxx”为本次开发的项目编号,共十一位,具体含义见NW602102《文件编号规定》; 2)“tt”为文档类别代号,用两位大写字母表示。“tt”的取值范围如下:FA(Feasibility Analysis):可行性分析报告 RA(Requirement Analysis):需求分析报告 DP(Developing Plan):开发计划 QP(Quality Plan):质量计划 SD(System Design):系统设计报告 TR(Technical Report):技术报告 SR(Summary Report):项目开发总结报告 本部分未给出代号的文档,其代号由相应的文档编写部门确定。

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