项目研发标准和规范.docx

上传人:lao****ou 文档编号:306243 上传时间:2023-08-12 格式:DOCX 页数:44 大小:66.44KB
下载 相关 举报
项目研发标准和规范.docx_第1页
第1页 / 共44页
项目研发标准和规范.docx_第2页
第2页 / 共44页
项目研发标准和规范.docx_第3页
第3页 / 共44页
项目研发标准和规范.docx_第4页
第4页 / 共44页
项目研发标准和规范.docx_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《项目研发标准和规范.docx》由会员分享,可在线阅读,更多相关《项目研发标准和规范.docx(44页珍藏版)》请在第一文库网上搜索。

1、项目研发标准和规范文档名称项目研发标准和规范版本号VI.O创建人XXX创建日期保密分类秘密文档修订记录版本号变化状态简要说明变更人变更日期审批人审批日期VI. 0C初次创建刘XX2019-3-14王XX2019-6-28变化状态:C=创立,A=增加,M=修改,D=删除批准人:XX批准日期:20196281 .概述11.1 文档目的11.2 适用范围12 .代码规范12.1 源代码规范12.1.1 通用规范12.1.2 Java/JavaScript12.1.3 文本格式32.2 开发原则42.2.1 类、接口42.2.2 方法42.2.3 表达式与语句52.2.4 循环语句72.2.5 异常捕

2、捉72.2.6 变量102.2.7 方法112.2.8 日志112.2.9 其它122.2.10 编程技巧122.3 代码示例162.3.1 ExampIeJava162.3.2 Html/jsp/js181.1.1 工作描述191.1.2 交付工作产品201.1.3 文档编写指南201.1.4 经验分享211.1.5 方法与工具221.1.6 自检要素243.2 设计与开发243.2.1 工作描述243.2.2 交付工作产品253.2.3 文档编写指南253.2.4 经验分享253.2.5 方法与工具263.2.6 自检要素283.3 发版283.3.1 工作描述283.3.2 交付工作产品

3、293.3.3 文档编写指南293.3.4 经验分享293.3.5 自检要素293.4 项目结项303.4.1 工作描述303.4.2 交付工作产品303.4.4 经验分享313.4.5 自检要素314 . 例行工作324.1 例会及报告324.1.1 项目例会324.1.2 个人周报324.1.3 项目周报324.2 研发管理334.2.1 里程碑报告334.2.2 项目评审334.2.3 风险管理344.3 项目变更344.3.1 变更控制的要点344.3.2 如何进行变更345 .资料管理365.1 文档管理365.1.1 日常资料备份365.1.2 项目资料归档365.2 代码管理36

4、5.2.1 岗位划分365.2.2 版本划分375.2.3 流程说明37XX科技信息技术有限公司1 .概述1.1 文档目的为加强对北京研发总部及各研发分中心的管理、提高研发工作效率、规范开发工作,特 制定研发标准及规范。文档中对研发标准及规范进行详细描述,在研发经验总结、研发项目总结基础上,不断 完善规范的有效性,提高项目文档质量,帮助推进项目,保证项目质量,提升研发项目生产 效率,确保项目研发成功。1.2 适用范围适用于全体研发工作人员:适用于公司所有研发项目。2 .代码规范2.1 源代码规范2.1.1 通用规范 开发人员的开发环境应保持统一:(Tomcal, JDKl. 8, Intell

5、iJ IDEA, Chrome 版本控制环境,统一使用公司的SVN,研发分中心通过VPN接入。 页面设计过程中,要考虑到操作系统、浏览器、浏览器版本、显示器分倍率等因素。 代码整洁、注释合理,严格遵守JaVa文档注释标准。2.1.2 Java/JavaScript1 .类/接口每个JaVa类,保存为单独的文件(内部类除外),不允许使用非PUbIiC修饰的类,确有需要的,使用其他修饰方法解决。文件开头加入版权声明/* 版权声明XX科技信息技术有限公司版权所有违者必究* Company:天创科技* author 刘方正* version 1. 0* /2 .包(Package)在公司整体框架的基础

6、上,每个功能模块单独建立一个包,再按小模块划分,自行建立 子包。包名统一小写,具有业务意义。每个功能模块包,加入package, html,描述此包。例如:package com. gas. framework, controller;import java. io. File ;import java. io. OutStream;import java. util. Observable;import hotjava. util. Application;3 .方法方法的命名,要求遵守:首字母小写,以后每单词首字母大写。功能性方法,以其功能的英文开头,比如:添加用户:addUsero如果方

7、法名没有合适的英文描述,可使用拼音全拼。如果拼音全拼太长,可适当缩短为 拼音首字母,但是要有详细注释。方法注释:以简明扼要的语句,描述方法所做的事,调用需要注意的事项。各参数含义, 返回值。方法内各语句的注释,以适量为准,能让不了解业务的人看明白。4 .字段字段的命名:以业务规则命名。好的命名,可以代替注释。字段的声明位置,要求在类 的头部,其get/set方法,放在类的尾部。字段的注释:以“”注释在字段声明同一行结尾。5 .单元测试针对每一个业务方法,要求提供“nit的单体测试代码2.1.3文本格式 请以4个空格设置Tab键宽度,按代码层级设置缩进。 花括号的使用,要配合Tab键,做到上下对

8、称,层级分明。 在适当的位置加入空格和空行,以保持代码的美观和可读性。 保持适当的折行,一行代码的长度不要超过100个字符。 文件的编码格式,统一为UTF-8 (包括数据库编码)。2.2开发原则2.2.1 类、接口 类的划分粒度,不可太大,造成过于庞大的单个类,也不可太细,从而使类的继承太 深。一般而言,一个类只做一件事;另一个原则是根据每个类的职责进行划分,比如 用User来存放用户信息,而用UserDao来对用户信息进行数据访问操作(比如存取数 据库),用USerSerViCe来封装用户信息的业务操作等等。 多使用设计模式,随时重构。多个类中使用相同方法时将其方法提到一个接口中或使 用抽象

9、类,尽量提高重用度。同时可以减少维护难度。 将不希望再被继承的类声明成final,例如某些实用类,但不要滥用final,否则会对 系统的可扩展性造成影响。 将不希望被实例化的类的缺省构造方法声明成private0 每个项目文件中的主ClaSS必须写一个Inain方法,它要提供测试和演示功能 在一个单独的应用程序中,带有main。方法的类应该与其他类分开。原因:如果主类 和其他类不分开,将会导致很难再使用 为你经常使用的类做一个模板。原因:代码标准的一致化。 在抽象类和接口都可实现的情况下,建议使用接口。定义抽象类,仅当它们部分方法 抽象时。原因:接口比抽象类更容易扩展,可以实现多重继承。 考虑

10、每个类是否要实现Cloneable或者Serializer接口 定义一个类为final,仅当它是个子类,或者类的实现,或者是没有人任何实现方法 的接口。原因:把一个类定义为final,意味着再也没机会重新实现类的方法。 为每一个类定义一个默认的构造器,以便于可以通过ClaSS. newlnstance()来构造。 原因:通过定义默认的构造器,可以在编译期间动态的加载类。2.2.2 方法 一个方法只完成一项功能,在定义系统的公用接口方法外的方法应尽可能的缩小其可 见性。 避免用一个类是实例去访问其静态变量和方法。 避免在一个较长的方法里提供多个出口,如:不要使用这钟方式,当处理程序段很长时将很难

11、找到出口点if(condition)return A;)elsereturn B;)建议使用如下方式String result = null;if(condition)result = A;else result = B;)return result; 避免过多的参数列表尽量控制在5个以内,若需要传递多个参数时,应使用一个容纳这些参数的对象 进行传递,以提高程序的可读性和可扩展性。参数类型和返回值尽量接口化,以屏 蔽具体的实现细节,提高系统的可扩展性,例如:public void joinGroup(List userList)public List IistAllUsersO O2.2.3

12、表达式与语句控制语句判断中如有常量,则应将常量置与判断式的右侧。如:if ( true = isAdmin().if ( null = user).if( . equals(StrParameter).这种判断还可以省了判断 null尽量不使用三目条件判断。所有if语句必须用包括起来,即便是只有一句,如: 不要使用这种if (true) i = O;使用这种方式if (true) 1 = O;. 过多的else分句请将其转成switch语句或使用子函数每当一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。如: switch (condition) ca

13、se ABC:/statements;继续下一个CASEcase DEF:/statements;break;case XYZ:/statements;break;default:/statements;break;)end switch2.2.4 循环语句循环中必须有终止循环的条件或语句,避免死循环。当在for语句的初始化或更新子句中使用逗号时,避免因使用三个以上变量,而导致 复杂度提高。若需要,可以在for循环之前(为初始化子句)或for循环末尾(为更新子句) 使用单独的语句。避免在循环中执行取固定值的重复操作,比较一下两种循环的差异:不推荐方式while(index products.

14、getCount() 每此都会执行一次getCount ()方法,若此方法耗时则会影响执行效率而且可能带来同步问题,若有同步需求,请使用同步块或同步方法)推荐方式将操作结构保存在临时变量里,减少方法调用次数final int count = products. getCount ();while (index count)2.2.5 异常捕捉 当捕捉到异常时,必须处理catch代码区,打印错误信息。原因:不能预料代码运行 可能出现的所有情况。为了减少测试周期和避免未知的错误,必须在catch代码区报 告错误信息。try (serivce. connect ();Jcatch (ConnectionExcept ion ce) /This is unexpected but since/I read the coding standard and I unde

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服