




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
厦门帝网信息科技有限公司应用服务平台编程手册版本项目名称版本:编程指南日期:文档编号:修订历史记录日期版本说明作者2016/10/291.0规范编程人员对于程序代码的统一风格XXX目录1.简介41.1目的41.2范围41.3定义、首字母缩写词和缩略语41.4参考资料41.5概述42.代码组织与风格43.注解44.命名45.声明46.表达式和语句47.内存管理48.错误处理和异常事件49.可移植性510.复用511.编译问题512.附录:指南概要5公司软件/模块开发规范1. 简介掌握java开发企业级软件项目过程所需的设计规范、开发流程、质量控制及规范化程序风格。规范在公司服务平台框架下应用软件系统或模块接入和编程过程;1.1 目的统一的编码规范可以尽可能减少一个软件的维护成本,由于每一个软件在其整个生命周期中无法保证均由最初开发人员进行维护,因此尽可能地规范化开发能够帮助提高未来对软件的可维护性。统一的编码可以改善软件编码的可读性,让开发人员尽快而彻底地理解新的代码的意图和设计思路;统一的编码可以最大限度提高团队开发的合作效率;保持长期统一的编码规范可以让开发人员养成良好的编程习惯,提高开发人员思维的严谨性;1.2 范围 公司服务平台框架下应用软件和模块开发设计规范;适用于需要接入公司的服务平台以及平台功能模块的扩展开发等。1.3 定义、首字母缩写词和缩略语驼峰式命名法:英文:Camel-Case,又称驼峰命名法,是电脑程式编写时的一套命名规则,如:CamelCase或camelCase等,混合使用大小写字母来构成变量和函数的名字,以便于程序员的代码能够更容易地在同行之间进行交流;1.4 参考资料1.5 概述都说代码是程序员的第二张脸,长时间下来,写的好的代码定会受到大家的尊重。遵循一些简单的规范,写干净一致的代码!把个性用在写出最简单易懂的代码上面,而不是晦涩冗余无用的代码,甚至自我签名!设计良好的结构和模式,撰写干净易懂的代码,对空间的尊重,对代码的尊重。这样能赢得别人的尊重!记住代码不是一次性的,需要重复的修改和重构,为未来写点代码! 只要记住,代码写出来不只是给您一个人看的!注解和命名要尽量去感觉到别人是不是能看得懂!2. 代码组织与风格公司服务平台框架以软件系统和功能模块作为独立的应用来接入服务中心,子系统是单个具体的业务应用(例如支付子系统),可以独立完成某些业务和功能;模块是指可共用的系统底层的一些功能的集合(例如商城楼管分配模块,用户定位模块)一般不能独立完成某项业务,软件系统就是指某个为公司业务需要而定义的功能完善的业务应用系统的一个软件项目;模块和系统间通过服务中心进行交互调用,详细的布局可以参考我们的系统架构解决方案;代码统一使用英文单词或英文缩写进行工程名称、包名、类、接口、变量等等的代码编写:项文命名编写时使用驼峰式命名法,首字母用小写,如:loginUserPwd;英文命名需要遵循由其命名便知道其意义的原则;变量命名区分全局变量、导出变量、常量、局部变量,最好区分类型(如果有的话),常量使用大写字母和下划线表示,如:LA_PCTT_BASIC=”;可采用业界的一些命名规范,比如匈牙利命名,但同一个项目必须统一;3. 注释和JAVADOC主要是注释方法的用途,注释代码段,注释逻辑。运用前后空行分割开逻辑相对独立的代码,在空行的下一行写点下面代码段的用途的说明文字。如果有if else等逻辑选择的时候,也花几秒钟写上判断的依据和结果,否则会逻辑难懂,这很关键! 在类的定义、方法(接口方法/抽象方法)的定义和变/常量的定义上部使用注解(将类、方法的设计意图及完成过程进行简要的文字描述,尽量简要并控制在能够让熟练于JAVA软件开发人员能够理解的范围内);使用ECLIPSE开发项目可以使用注解模板: 使用ECLIPSE开发前注解配置:1. 启动ECLIPSE后依次打开菜单:Window-Preference-Java-Code Style-Code Template2. 导入注解模版,点击上图的 Import按钮;3. 将上图中最下面Automatically add comments for new methods and types选上;4. 点击Apply按钮应用配置;5. 点击OK按钮退回开发界面; 如何生成JAVADOC略4. 命名下面的定义中会提到,基础框架分层名,其中有:前端控制层(Controller)、服务层和逻辑层(Service/Logic)、持久层(Dao)、工具(Util)、组件(common);没有特殊规定,一般以驼峰式命名法命名;1. 业务模块划分,由业务主管根据一定的业务层偶合性和系统稳定性等因素进行划分,模块名的命名格式为:平台简写-模块名称项文简写-基础框架分层名,如:银承库平台的财务模块/子系统:yck-chaiwu-dao这个代表该平台财务模块的dao层;2. 包的定义,在程序中包的命名都以com开头,然后是平台简写,如yck,接下来是模块名(除特别需要自定义扫描或者有特殊统一管理的情况,如DAO层的事务管理可能会命名为com.yck.dao.*或com.yck.service.*等,会在开发框架说明中统一制定规则);3. 类名的定义,在类名定义中,首字母必须大写,分几种情况:a) 接口定义,以I开头,然后类的用途的英文简写(注意I开头后,首字母仍然大写),最后以类的基础框架分层名结尾,分层名首字母大写,例如一个DAO层的DAO接口定义为:ICustomerManagerDao 客户管理的DAO层b) 抽象类定义,以Abstract开头,然后类的用途的英文简写,最后以类的基础框架分层名结尾,分层名首字母大写,例如一个抽象的文件管理工具类,AbstractFileManagerUtil;c) 实现类的定义,以类的用途的英文简写开头,然后是基础框架分层名,最后以Impl结尾,如,客户管理Dao的实现类:CustomerManagerDaoImpl;d) 常量类的定义,常量类名称定义比较灵活,只要不以I,Abstract开头即可,以Contant结尾即可,如客户管理服务层常量定义:CustomerManagerContant;5. 声明1. 变量的声明,在一个类/方法中变量名称定义只要能通过名称了解变量的基本含议即可,没有特别的要求,变量名以小写字母开头,变量的命名除本身有默认修饰的情况下,必须指明其权限修饰符,如私有变量必须声明 private;2. 常量的声明,跟变量不一样,常量通常是全大写,字母与字母间用下划线分隔,且必须用static fianl修饰,如:public static final String CUST_STATUS_DEL=”;3. 方法名的定义,方法名定义必须以小定字母开头,其它没有特别的规定,只需要易读,看见方法名基本能理解方法的相关用途即可;方法的命名除本身有默认修饰的情况下,必须指明其权限修饰符,如私有变量必须声明 private;4. 请将公共的变量,常量,方法尽量靠前定义;5. 关于注解:a) 所有的springBean的注解都需要加上name属性,以便在使用时引用确定的不会与人冲突的bean,名称以模块名开头,中间是bean用途或类的名称结尾,中间用下划线分隔模块名,如:客户模块的客户管理dao的Bean定义为:Repository(“customer_customerManagerDao”),在引用时必须引用bean的name,如:AutowiredQualifier(customer_customerManagerDao )6. Controller类必须继承BaseController,以便使用基础方法和被识别;7. Service实现类必须继承BaseService以便使用基础方法和被识别;8. DAO实现类必须继承AbstractBaseDao以便使用基础方法和被识别;6. 表达式和语句1. 一个方法或循环体/方法块以下面示例格式编写:/* * 注释 */public String getString() if () else for () 2. DTO属性的get/set方法需要用/* 注释,以便调用者能看到javadoc描述private String no;/* * 设置编码 */public void setNo(String no)/* * 获取编码 */public String getNo()3. 其中if和for等语句不要超过三层,如果是逻辑需要请将内层的抽取出来封装到私有方法中,以方便查阅代码;if () if () if () if () 上述的代码可以将内部的几层IF分根据一定规则/设计封装到另一个方法中即可;7. 软件工程结构和部署根据上述规范,工程将创建出如下结构:其中包括operation和depositicket两个模块以及manager-web一个后台管理的controller&web端;另:建议配置化多的应用,可以考虑将配置化分离出一个工程出来:如bts-config包括dao、interface和service。其中dao和service部署于服务层的spring容器;而web层部署于tomcat的servlet容器中;8. 分布式系统被划分为服务层和WEB层两部分进行部署,服务层的部署又可以进行集群以及能够实现服务总线的框架模式,在开发过程中,必须把Controller层与service分开开发,通过服务配置化文件进行服务注册和消费;配置文件如下:其中nbyh-service-consumer.xml是客户端配置,nbyh-service-provider.xml是服务端配置。命名规格为:项目名称-service-consumer/provider.xml;软件开发时,先开发服务端服务,然后通过配置文件将服务注入服务总线;客户端通过配置文件读取总线中的服务信息进行远程调用;除了配置文件的编写外,程序员代码的编写与spring的IOC注入没有任何区别;9. 问题如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能家居合同欺诈案例分析与构成要件探究
- 2025湖北公务员面试题及答案
- 吊顶施工与室内防虫防鼠合同
- 汽车租赁公司股东权益与智能交通合作协议范本
- 智能金融创新-洞察及研究
- 生成对抗网络稳定性与收敛性的联合优化研究-洞察及研究
- 航天科技研发个人连带责任保证担保合同
- 文艺复兴复调发展-洞察及研究
- 专业安保考试题目及答案
- 专业素养面试题目及答案
- GB/T 22751-2008台球桌
- 中国近代史试题库
- 电路学课件:1-6 电压源和电流源
- 奥的斯GeN2-故障查找手册-1-CN
- 村民森林防火承诺书
- 税法(第三版)项目一任务三增值税应纳税额的计算
- 系统数据导出确认单
- Q∕SY 01004-2016 气田水回注技术规范
- TSG Z8002-2022 特种设备检验人员考核规则
- 植物组织培养论文 月季
- QC∕T 900-1997 汽车整车产品质量检验评定方法
评论
0/150
提交评论