




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目团队开发规范 文件标识: 当前版本: V.1.0 作 者: 傅家龙 文件状态: 草稿 正式发布 正在修改 完成日期: 2015 年 5 月 22 日 修订历史记录 日期 版本 说明 作者 第 3 页 共 14 页 目 录 1 引言 4 1.1 编写目的 4 1.2 预期读者 4 1.3 编写背景 4 2 概述 5 2.1 目标 5 2.2 修改及完善 5 3 详细规范 5 3.1 使用的工具 5 3.2 框架设计 5 3.3 包目录 6 3.4 编码规范 7 3.4.1 目的 7 3.4.2 依据 7 3.4.3 具体规范 8 3.4.3.1 编码风格 8 3.4.3.1.1 缩进 .8 3.4.3.1.2 空格 .8 3.4.3.1.3 对齐 .9 3.4.3.1.4 空行 .9 3.4.3.1.5 代码长度 .10 3.4.3.1.6 行数 .10 3.4.3.1.7 注释 .10 3.4.3.2 代码效率 13 3.4.3.2.1 综述 .13 3.4.3.2.2 具体实现 .13 3.4.3.3 异常处理 13 3.4.3.3.1 处理 CHECK 异常与 UNCHECK 异常 .13 3.4.3.4 程序调试 13 3.4.4 日常交流 14 3.4.4.1 互相促进 14 1 引言 1.1 编写目的 本文档作为项目团队开发规范的说明书,描述了项目开发过程中的使用的工具,框 架,代码编写规范及注意问题,作为项目团队建设,开发及测试工作的依据。 1.2 预期读者 本文档的预期读者包括以下几类: 项目组长 项目组全体成员 1.3 编写背景 根据公司现有的开发状况,决定组件稳定的项目开发团队,制定全体团队成员共识 的开发规范,有助于提高项目开发的效率、项目团队整体水平的提升。 第 5 页 共 14 页 2 概述 2.1 目标 建设一个团结、规范、进取的团队,规范项目的开发工作,提高项目组成员团队合 作意识,更好的提高团队及个人的能力。 2.2 修改及完善 本规范仅是初步设计,会在具体的项目开发过程中不断的修改及完善。 3 详细规范 3.1 使用的工具 JDK: IDE: Version Control:SubVersion1.5 VSS Bug Manager: JSP Container: 3.2 框架设计 J2EE: ORM: MVC: AJAX: JAVASRIPT: 3.3 包目录 说明: Src:实现类源文件夹 common 存放实际业务系统中有共性的处理类 Constant 存放业务系统的常量接口 Dao 存放具体实体的数据库访问对象类 Exception 存放异常处理类 Model 存放实体(普通 Java Bean,Hibernate 映射实体) Service 存放业务处理类(调用 Dao,及 util 里面的方法) Web MVC 前端框架处理类 Servlet :普通 servlet 类 Framework.struts2.action : struts2.0 框架控制类 Test:单元测试类源文件夹 第 7 页 共 14 页 Dao 测试业务实现类 DAO 层 Service 测试业务实现类 service 层 Util 测试业务实现工具类 命名规则: 原则: 尽量使用英文单词来作为类的命名,勿以汉语拼音词的首字母来命名, 如不能以英文命名,则须以汉语拼音的全拼来命名。 Dao: 1. 以访问的表为命名依据,如果是对单个的表或实体操作,则以单个表的 表名去除下划线首字母大写或实体名称,加“DAO”做 DAO 类的名称,如 果是多个表关联或多个实体关联则以主表表名去除下划线或主实体名称, 加”DAO”作为类名。 Service: 以相应的业务名称加“Service”来作为类名。 Action: 以相应业务系统中页面操作名称加”Action”来命名。 3.4 编码规范 3.4.1 目的 制定统一的编码规范,使项目组成员养成良好的编程习惯,提高代码的效率 及可读性,使代码达到很好的整合控制。 3.4.2 依据 Sun 公司基本的 JAVA 规范,及具体实践中的经验。 3.4.3 具体规范 3.4.3.1 编码风格 3.4.3.1.1 缩进 1. 建议以 4 个空格为单位。建议在 MyEclipse 下设置 2. 预处理语句、全局数据、标题、附加说明、函数说明、标号等均顶格书写 3. 语句块的“、“配对对齐,并与其前一行对齐,语句块类的语句缩进建议每个 “、“单独占一行,便于匹对。 3.4.3.1.2 空格 原则上变量、类、常量数据和函数在其类型,修饰名称之间适当空格并据情况对齐。 关键字原则上空一格,如:if ( . 等。运算符的空格规定如下:“:“、“-“、“、“ 第 9 页 共 14 页 “、 “+“、“-“、“、“!“、“+“、“-“(指正负号) 、“ int Result; int Length; DWORD Size; DWORD BufSize; 个人认为此项可以依照个人习惯决定遵循与否。 3.4.3.1.4 空行 不得存在无规则的空行,比如说连续十个空行。程序文件结构各部分之间空两行, 若不必要也可只空一行,各函数实现之间一般空两行,由于每个函数还要有函数说明 注释,故通常只需空一行或不空,但对于没有函数说明的情况至少应再空一行。对自 己写的函数,建议也加上“/-”做分隔。函数内部数据与代码之间应空至少一行,代 码中适当处应以空行空开,建议在代码中出现变量声明时,在其前空一行。类中四个 “p”之间至少空一行,在其中的数据与函数之间也应空行。 3.4.3.1.5 代码长度 对于每一个函数建议尽可能控制其代码长度为 53 行左右,超过 53 行的代码要 重新考虑将其拆分为两个或两个以上的函数。函数拆分规则应该一不破坏原有算法为 基础,同时拆分出来的部分应该是可以重复利用的。对于在多个模块或者窗体中都要 用到的重复性代码,完全可以将起独立成为一个具备公用性质的函数,放置于一个公 用模块中。 3.4.3.1.6 行数 一般的集成编程环境下,每屏大概只能显示不超过 50 行的程序,所以这个函 数大概要 5-6 屏显示,在某些环境下要 8 屏左右才能显示完。这样一来,无论是读程 序还是修改程序,都会有困难。因此建议把完成比较独立功能的程序块抽出,单独成 为一个函数。把完成相同或相近功能的程序块抽出,独立为一个子函数。可以发现, 越是上层的函数越简单,就是调用几个子函数,越是底层的函数完成的越是具体的工 作。这是好程序的一个标志。这样,我们就可以在较上层函数里容易控制整个程序的 逻辑,而在底层的函数里专注于某方面的功能的实现了。 3.4.3.1.7 注释 1. JAVA 代码注释 1) 设置 第 11 页 共 14 页 2) 综述 注释是软件可读性的具体体现。 程序注释量一般占程序编码量的 20%,软件工程要求不少于 20%。 程序注释不能用抽象的语言,类似于“处理“ 、“循环“ 这样的计算机抽象语言, 要精确表达出程序的处理说明。例如:“计算净需求“、“计算第一道工序的加工工时“ 等。避免每行程序都使用注释,可以在一段程序的前面加一段注释,具有明确的处理 逻辑。 注释必不可少,但也不应过多,不要被动的为写注释而写注释。 以下是四种必要的注释: A 标题、附加说明。 B 函数、类等的说明。 对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实 现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明, 参数说明、返回值说明等,必要时还要有一些如特别的软硬件要求等说明。 公用函数、公用类的声明必须由注解说明其使用方法和设计思路,当然选择 恰当的命名格式能够帮助你把事情解释得更清楚。 C 在代码不明晰或不可移植处必须有一定的说明。 D 及少量的其它注释,如自定义变量的注释、代码书写时间等。 注释有块注释和行注释两种,分别是指:“/*/“和“/“建议对 A 用块注释, D 用行注释,B 、C 则视情况而定,但应统一,至少在一个单元中 B 类注释形式应统 一。具体对不同文件、结构的注释会在后面详细说明。 3) Class 文件 /* * 信息发布控制类 * author gp * company hshz * version * time 2008.10.11 */ 4) 方法 /* *方法功能说明. * param 参数 * param 参数 * throws 异常 */ 5) 变量 一般使用/做行注释。 2. 页面文件注释 /* * Title: 发文管理列表 第 13 页 共 14 页 * Description: 展示所有发文列表 * Copyright: Copyright (c) 2008 * Company: HSHZ * author: gp * version: 1.0 * time: 2008.07.07 */ 3. 数据表 一定要完善表的 comment.表名注释,每个字段的注释必须。 3.4.3.2 代码效率 3.4.3.2.1 综述 编程过程中一定要考虑代码执行的效率,大家在以后的开发工作中有什么具体的 经验可以继续完善。 3.4.3.2.2 具体实现 1. 循环 把要循环的数组或列表,长度赋予某个变量,在 for 循环体中调用改变量即可。 3.4.3.3 异常处理 3.4.3.3.1 处理 CHECK 异常与 UNCHECK 异常 1. 在程序调试过程中可以让程序抛出异常,以便发现问题;当程序调试完毕须捕 获异常,进行处理。 2. 对于空指针一样,一定要在程序编写时考虑到这种情况,并做相应处理。 3.4.3.4 程序调试 1. 综述 使用统一的 Logger 方法来进行调试。不用 System.out.println 来调试,增加调试 程序的控制性。 3.4.4 日常交流 3.4.4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国电动象市场现状分析及前景预测报告
- 2025至2030年中国熔盐调节阀市场现状分析及前景预测报告
- 2025至2030年中国烧烤架网罩市场现状分析及前景预测报告
- 城市地下管网防洪防汛应急措施
- 2025至2030年中国涡轮式双偏心软密封蝶阀市场现状分析及前景预测报告
- 2025至2030年中国法式熏鸡卷市场现状分析及前景预测报告
- 2025至2030年中国无机防火卷帘市场现状分析及前景预测报告
- 2025至2030年中国散热片油箱市场现状分析及前景预测报告
- 2025至2030年中国抱夹车市场现状分析及前景预测报告
- 2025至2030年中国手链盒市场现状分析及前景预测报告
- CO2还原合成甲醇反应器研究进展
- DB3713T-291-2023工程建设项目“多测合一”技术规程
- 土壤重金属迁移模型构建-洞察分析
- 临床用血总结
- 《如何推行改善提案》课件
- 【大学课件】商业银行风险管理
- 农业机械的智能控制
- 人教版道德与法治六上6上1单元第1课《感受生活中的法律》
- 绿化基础知识培训
- 2024国际技术转让合同(中英文对照)
- 购房委托协议文本
评论
0/150
提交评论