文档库 最新最全的文档下载
当前位置:文档库 › java软件开发的规范方案_V0

java软件开发的规范方案_V0

java软件开发的规范方案_V0
java软件开发的规范方案_V0

软件开发规范

第1章命名规范

系统中的命名一概不要出现首字母缩写的命名方式,如:

/visit/hardware/info/findById 不要写成/visit/hardware/info/fbi 这种毫无可读性的方式

又如:updateByPrimaryKeySelective(Entity entity);不要写成

updateByPKS(Entity entity);

以此类推……

1.1.包命名规则

com/公司名(dashu)/子系统名称(项目名)/模块名/

各系统必备模块描述:

base:系统基础模块,各系统都共用的模块,提供系统最基本的运行环境,如日志操作管理,系统配置管理,公共工具类,公共字典管理

core:各子系统的核心模块,协调该系统中各模块之间相应的调用

其他模块根据系统再进行具体划分

1.2.请求地址命名:

/项目名(子系统名称)/模块名/对象名(资源名)

/项目名/base/systemlog/{id}

查看:/项目名/base/systemlog/show ? id=* 修改:/项目名/base/systemlog/update

删除:/项目名/base/systemlog/delete? id=* 增加:/项目名/base/systemlog/add

1.3.类文件命名:

java中类名、方法名、变量命名以字母大小写混写,不能挟带数字、下划线及其他字符final变量(常量)最好都大写

1.4.数据库命名规范:

表名必须以模块名称开头

由于很多数据库都不区分大小写,所以表名及字段的命名都以小写和下划线“_”混写,如:hard_hardware_group(hard模块的硬件分组表)第一个下划线前必须是模块名称

主键都以“id”命名,“group_id”

视图命名必须以“_view”结尾“_vi”

函数命名必须以“_function”结尾“_fn”

存储过程必须以“_procedure”结尾“_proc”

第2章注释规范

2.1.类文件注释

作用描述:必须

创建者:建议,团队人多时可方便与其原作者沟通

最后更新时间:可选

2.2.方法注释

方法使用描述:必须

参数描述:必须

返回说明:可选

2.3.实体类注释

属性说明:必须

对应关系:建议

2.4.方法体注释

在方法内容中,只要在关键地方在注释就行了

注释采用“//”行注释,不建议使用“/*abc*/”这种

2.5.数据表注释

1、各表字段在创建的时候必须有注释

2、如果表中要引用其他表字段,而又没有外键时,一定在注释中标明关联的是哪个表的哪个字段

第3章编程准则

所有项目必须都是UTF-8编码,缩进风格必须良好,不能以空格缩进,要以键进行缩

进,代码看起来要简单明了,一眼即可看出哪里开始,哪里结束

内部类尽量不要写,写的时候必须与设计人员讨论必要性

实体类属性必须与表或视图字段相应,不能多或少,如果是偶尔要加的一个属性,请在mybatis直接返回MAP类型

3.1.变量使用规范

1、不允许随意定义全局变量。

2、一个变量只能有一个用途;变量的用途必须和变量的名称保持一致。

3、所有变量都必须在类和方法最前面定义,并分类排列。

3.2.数据库操作规范

1、查找数据库表或视图时,只能取出确实需要的那些字段。

2、清楚明白地使用列名,而不能使用列的序号。

注:不能使用Select * from table方式。

3、数据库字段一般开发人员不要增加,就与模块负责人或系统设计人员讨论是否该加,并及时通知项目中所有人员。

4、数据库中均要以模块名称开头,具体命名参照第1章第4节数据库命名规范

5、组合查询,关联表查询一般要求创建视图来实现,不建议在查询语句中嵌套查询,具体请与系统设计人员讨论

3.3.对象使用规范

1、尽可能晚地创建对象,并且尽可能早地释放它。

3.4.模块设计原则

1、公用的方法和类必须放在指定类中。

模块工具类放模块util包,系统工具类放core.util包,各系统都会用的,放base.util包模块公共类放在模块common包,系统公用类放在https://www.wendangku.net/doc/aa10597184.html,mon包,各系统都会用的,放在https://www.wendangku.net/doc/aa10597184.html,mon包

2、方法功能单一,不允许一个方法实现两个及两个以上的功能。

3、方法与方法之间只允许存在包含关系,而不允许存在交叉关系。即两者之间只存在单方向的调用与被调用,不存在双向的调用与被调用。

4、系统分为三层结构,分别为业务控制层、服务层、数据层,每层各司其职,不能混乱。

注:在业务控制层不能出现SQL语句及连接数据库操作语句(mapper操作只能出现在service 层,controller只能调用service层去操作数据库)。

3.5.异常处理

不建议直接往外抛异常,应该在当前出现异常的地方进行try…catch 如果真要往最上层抛的话,必须在控制层进行try…catch

第4章表现层规范

无,具体与页面设计人员讨论

Java开发规范

Java开发规范

目录 第1章序言 (4) 第2章java一般性研发规范 (5) 2.1 代码格式 (5) 2.1.1包、类、方法的命名规范: (5) 2.1.2方法的命名应注意避免与java中具有特殊意义的名称例如equals, hashCode,clone,finalizer等冲突 (7) 2.1.3Java bean中取得boolean类型的属性值必须使用is****形式命名 (9) 2.1.4if,else,while,for等必须使用{} (9) 2.1.5类必须包含在包里,禁止出现无包的类 (10) 2.1.6类和方法必须拥有注释,注释量占总体代码25%以上,类头部,以及方法 头部的注释应符合javadoc标准。 (11) 2.2 基本语法 (12) 2.2.1不能随意捕捉异常,原则上谁捕捉谁处理 (12) 2.2.2if,while,try,finally,switch ,synchronized ,static instantiation 里面应有相应的逻辑处理,不能为空。 (13) 2.2.3在处理循环中,不能在程序中人为的改变步长。 (14) 2.2.4将简单类型int,short,float,double等转化成字符串时,需使用其对 应类的toString方法。 (14) 2.2.5javaBean中hashCode,以及equals方法必须同时override。 (15) 2.2.6懒式方式创建对象:不能采用双检查惯用法 (18) 2.2.7不能在finally中返回值。 (19) 2.2.8Boolean实例化时,应用使用Boolean.valueOf,Boolean.TRUE, Boolean.FALSE。 (19) 2.2.9Integer,Byte,Short,Long等实例化时,应用使用valueOf (20) 2.2.10对于多个if语句嵌套的情况下能够整合尽量整合。 (20) 2.2.11override function,不能只有super.function语句,否则视为无效代码 21 2.2.12Collection.toArray的注意事项。 (21) 2.2.13对于BigDecimal方法,应避免使用float值,double值进行创建,应使 用字符串形式创建。 (22) 2.2.14String,BigDecimal,BigInteger等值类型调用replace,add等方法的注 意事项。 (23) 2.2.15需要注意的引起NullException的语句。 (23) 2.2.16ResultSet使用next时,需要判断是否具有记录再进行一下步操作。 25 2.2.17字符串使用相应的规则。 (25) 2.2.18禁止直接调用 System.gc(),System.getRuntime().gc(),System.runFinalization()。 (27) 2.2.19finalize相应的规则。 (27) 2.2.20禁止在代码中使用System.out,ex.printStackTrace打印日志。 (28) 2.2.21系统资源释放(谁创建的,谁关闭) (29) 2.2.22使用Clone时相应的规则。 (32) 2.2.23java Bean类必须实现Serialize接口。 (33)

软件开发项目计划模板(参考后编制)

XXX软件项目计划任务书 项目编号 项目名称 撰写人 审批 完成日期 版本记录

目录 1.项目背景、范围及目标..................................................................................................................... - 1 - 2.项目可行性分析.................................................................................................................................... - 1 - 3.项目概述 .................................................................................................................................................. - 1 - 4.项目生命周期及里程碑计划........................................................................................................... - 1 - 5.项目任务分解结构(WBS).............................................................................................................. - 1 - 6.预算 ............................................................................................................................................................ - 2 - 7.人员组织及分工.................................................................................................................................... - 2 - 8.风险预估 .................................................................................................................................................. - 2 - i

JAVA代码规范

Java代码规范 1. 标识符命名规范 1.1 概述 标识符的命名力求做到统一、达意和简洁。 1.1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同一概念有不同的表示方法,会使代码混乱难以理解。即使不能取得好的名称,但是只要统一,阅读起来也不会太困难,因为阅读者只要理解一次。 1.1.2 达意 达意是指,标识符能准确的表达出它所代表的意义,比如:newSupplier, OrderPaymentGatewayService等;而supplier1, service2,idtts等则不是好的命名方式。准确有两成含义,一是正确,而是丰富。如果给一个代表供应商的变量起名是order,显然没有正确表达。同样的,supplier1, 远没有targetSupplier意义丰富。 1.1.3 简洁 简洁是指,在统一和达意的前提下,用尽量少的标识符。如果不能达意,宁愿不要简洁。比如:theOrderNameOfTheTargetSupplierWhichIsTransfered 太长,transferedTargetSupplierOrderName则较好,但是transTgtSplOrdNm就不好了。省略元音的缩写方式不要使用,我们的英语往往还没有好到看得懂奇怪的缩写。 1.1.4 骆驼法则 Java中,除了包名,静态常量等特殊情况,大部分情况下标识符使用骆驼法则,即单词之间不使用特殊符号分割,而是通过首字母大写来分割。比如: supplierName, addNewContract,而不是supplier_name, add_new_contract。 1.1.5 英文vs 拼音

华为软件开发规范

软件开发规范 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.1 引言 1.1.1 编写目的 1.1.2 背景 1.1.3 定义 1.1.4 参考资料 1.2 可行性研究的前提 1.2.1 要求 1.2.2 目标 1.2.3 条件、假定和限制 1.2.4 进行可行性研究的方法 1.2.5 评价尺度 1.3 对现有系统的分析 1.3.1 数据流程和处理流程 1.3.2 工作负荷 1.3.3 费用开支 1.3.4 人员 1.3.5 设备 1.3.6 局限性 1.4 所建议的系统 1.4.1 对所建议系统的说明 1.4.2 数据流程各处理流程 1.4.3 改进之处 1.4.4 影响 1.4.4.1 对象设备的影响 1.4.4.2 对软件的影响 1.4.4.3 对用户单位机构的影响 1.4.4.4 对系统动行的影响 1.4.4.5 对开发的影响 1.4.4.6 对地点和设施的影响 1.4.4.7 对经费开支的影响 1.4.5 局限性 1.4.6 技术条件方面的可行性 1.5 可选择其他系统方案 1.5.1 可选择的系统方案 1 1.5.2 可选择的系统方案 2 …… 1.6 投资及收益分析 1.6.1 支出 1.6.1.1 基本建设投资

1.6.1.2 其他一次性支出 1.6.1.3 非一次性支出 1.6.2 收益 1.6. 2.1 一次性收益 1.6. 2.2 非一次性收益 1.6. 2.3 不可定量的收益 1.6.3 收益/投资比 1.6.4 投资回收周期 1.6.5 敏感性分析 1.7 社会条件方面的可行性 1.7.1 法律方面的可行性 1.7.2 使用方面的可行性 1.8 结论 2 项目开发计划 编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下: 2.1 引言 2.1.1 编写目的 2.1.2 背景 2.1.3 定义 2.1.4 参考资料 2.2 项目概述 2.2.1 工作内容 2.2.2 主要参加人员 2.2.3 产品及成果 2.2. 3.1 程序 2.2. 3.2 文件 2.2. 3.3 服务 2.2. 3.4 非移交产品 2.2.4 验收标准 2.2.5 完成项目的最迟期限 2.2.6 本计划的审查者与批准者 2.3 实施总计划 2.3.1 工作任务的分解 2.3.2 接口人员 2.3.3 进度 2.3.4 预算 2.3.5 关键问题 2.4 支持条件 2.4.1 计算机系统支持 2.4.2 需要用户承担的工作 2.4.3 需由外单位提供的条件 2.5 专题计划要点

华为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(); }

软件开发代码规范C版

软件开发代码规范(C#版) 拟制:日期:2007-2-13审核:日期: 审核:日期: 批准:日期: 版权所有 ********有限公司

修订纪录

目录 注:Pascal命名法则:即名称中所有单词的第一个字母大写其他字母使用

小写形式。 Camel命名法则:即名称中第一个单词各个字母全部小写,其他部分遵循Pascal命名法则。 1、第一章命名规范 1.1、第一节总则 1.本命名规则除特殊提及外统一使用Camel命名法则。 如:controlMenu 2.命名时尽量不使用拼音,更不可使用拼音缩写(专有名词除外)。 3.如果使用品牌名称命名时其大小写尽量保持和品牌名称一致的样式。 如:LuX则命名时,不要写成LUX,或者Lux,而应该保持与原品牌名称风格一致使用LuX 4.使用专有名词或英文缩写命名时采用大写形式。 如:CNNIC 5.禁止使用仅区分大小写的方式命名。 如:Abc与abc仅用大写A来区分,这样写在类C系语言中不会出错,但是不利于系统的迁移

、第二节变量命名规范 1.2.1、CodeBehind内部命名规范 1.公有字段/属性使用Pascal 命名规则,私有变量/保护变量/局部变量使用Camel命名规则,遵循动宾结构。 例: public class Hello { private string userName; private DateTime loginTime; private bool isOnline; public string UserName { get { return ; } } } 2.即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用意义描述性的名称。仅对于短循环索引使用单字母变量名,如 i 或 j 3.在变量名中使用互补对,如 Min/Max、Begin/End 和 Open/Close。 4.当一个方法内部变量繁多的时候,可以使用Camel命名法则,其中第一个单词可以使用变量类型的缩写来说明以示区别。 例:

软件系统JAVA开发编码规范V1.0

软件系统JAVA 编码规范 版本V1.0

文档信息: 内容范围: 本文档是软件系统JAVA编码规范。适用的对象: 公司相关技术人员。

目录 1 介绍(INTRODUCTION) (5) 2 2 文件名(FILE NAMES) (6) 2.1文件后缀(F ILE S UFFIXES) (6) 2.2常用文件名(C OMMON F ILE N AMES) (6) 3 文件组织(FILE ORGANIZATION) (7) 3.1J AVA源文件(J AVA S OURCE F ILES) (7) 3.1.1开首注释(B EGINNING C OMMENTS) (7) 3.1.2包和引入语句(P ACKAGE AND I MPORT S TATEMENTS) (8) 3.1.3类和接口声明(C LASS AND I NTERFACE D ECLARATIONS) (8) 4 缩进排版(INDENTATION) (9) 4.1行长度(L INE L ENGTH) (9) 4.2换行(W RAPPING L INES) (9) 5 注释(COMMENTS) (13) 5.1实现注释的格局(I MPLEMENTATION C OMMENT F ORMATS) (13) 5.1.1块注释(B LOCK C OMMENTS) (13) 5.1.2单行注释(S INGLE-L INE C OMMENTS) (14) 5.1.3尾端注释(T RAILING C OMMENTS) (15) 5.1.4行末注释(E ND-O F-L INE C OMMENTS) (15) 5.2文档注释(D OCUMENTATION C OMMENTS) (16) 6 声明(DECLARATIONS) (17) 6.1每行声明变量的数量(N UMBER P ER L INE) (17) 6.2初始化(I NITIALIZATION) (17) 6.3布局(P LACEMENT) (17) 6.4类和接口的声明(C LASS AND I NTERFACE D ECLARATIONS) (18) 7 语句(STATEMENTS) (20) 7.1简单语句(S IMPLE S TATEMENTS) (20) 7.2复合语句(C OMPOUND S TATEMENTS) (20)

软件开发方案参考模板

都市圈圈网站开发 项 目 建 设 总 体 / 方 案 ^

南京彩清科技有限公 司 二○一二年十一月 一、项目的需求分析与可行性分析 (一)、网站开发背景与需求分析 在“构建完美门户网站”的大主旋律下,都市圈圈网站为给网友提供更好的交友平台,更完美的婚恋场所。如何使网站更现代化,思维更灵活化,需求最新化这就成为当前领导决策层最需解决的问题,交友网和婚恋网能够让网友通过沟通网友之间的情感,促进网友之间的和谐发展,使网站更具现代话特色。 (二)、项目建设的可行性分析 · 1、随着计算机技术和网络技术的发展,特别是门户网站联网的建成,在网络的承载能力、安全性、可靠性以及服务质量保证等方面都得到了极大的提高,达到了较高的水准,能够满足目前及今后一段时间内网友之间情感发展的需要; 2、绝大多数网友对交友及婚恋网站的依恋程度已大大超过了现实之中朋友的交往。 3、广大网友对情感交流的重视程度越来越高。 基于以上几点,利用先进的计算机和网络技术,开发交友网站和婚恋网及管理系统,对现行门户网站已成为必要和可能。 二、系统的设计目标和原则 为加大对网友之间情感交流的深度,根据都市圈圈的业务需求,本网站系统设计开发的目的是向广大用户展示出完美的沟通平台。

基于上述目标,系统在设计时应遵循以下原则: 1、合法性原则 — 不利用网站违法操作。 2、安全性原则 系统运行具有较高的稳定性,确保数据收集的安全、可靠与保密。 (1)、网站内在网友可以凭借都市圈圈红娘的身份登录本系统,谢绝外来人员的参观和调阅。 (2)、系统的所有程序文件不允许从外部链接地址访问,必须登录后,方可出现相应的管理界面。 3、先进性原则 系统的开发工具、设计方法、运行模式等充分利用当今计算机信息的先进技术,充分利用现有的网络、设备,最大限度地保护现有的投资。 ' 4、灵活性原则 系统应充分考虑到业务不断变化的需要,对用户权限和栏目等参数能进行自定义设置,并可随时调整。 5、扩展性原则 系统设计应充分考虑门户网站和交友平台计算机发展的需要,便于系统的扩充,并提供与其他业务系统的应用连接和数据接口。 6、易用性原则 系统应使用参数化设计,界面友好,操作简便,自动化程度

华为Java语言编码规范标准

Java语言编码规范 Prepared by 拟制Date 日期 yyyy-mm-dd Reviewed by 评审人Date 日期 yyyy-mm-dd Approved by 批准Date 日期 yyyy-mm-dd

Revision Record 修订记录

Table of Contents 目录 1. 范围 (4) 2. 规范性引用文件 (4) 3. 术语和定义 (4) 4. 排版规范 (5) 4.1. 规则 (5) 4.2. 建议 (7) 5. 注释规范 (9) 5.1. 规则 (9) 5.2. 建议 (15) 6. 命名规范 (17) 6.1. 规则 (17) 6.2. 建议 (18) 7. 编码规范 (20) 7.1. 规则 (20) 7.2. 建议 (24) 8. JTEST规范 (26) 8.1. 规则 (26) 8.2. 建议 (27)

1.范围 本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。 本规范适用于使用Java语言编程的产品和项目。 2.规范性引用文件 下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 3.术语和定义 规则:编程时强制必须遵守的原则。 建议:编程时必须加以考虑的原则。 格式:对此规范格式的说明。 说明:对此规范或建议进行必要的解释。 示例:对此规范或建议从正、反两个方面给出例子。

JAVA开发规范文档

Java 开发规范文档 一:目的 使本组织能以标准的,规范的方式设计和编码。通过建立编码规范,以使每个开发人员养成良好的编码风格和习惯;并以此形成开发小组编码约定,提高程序的可靠性,可读性,可修改性,可维护性和一致性等,增进团队间的交流,并保证软件产品的质量。 二:代码组织与风格 1:长度:为便于阅读和理解,单个函数的有效代码长度当尽量在100行以内(不包括注释行),当功能模块过大时往往采用使用子函数将相应的功能抽取出来,这也有利于提高代码的重用度。 2:单个类不宜过大,当出现此类过大时当将相应功能的代码重构到其他类中,通过组合等方式来调用,建议单个类的长度包括注释行不超过1500行。尽量避免使用大类和长方法。3:间隔:类,方法及功能块间等应以空行相隔,以增加可读性,但不得有无规则的大片空行。操作符两端应当各空一个字符以增加可读性。 三:注释 1:注释应该增加代码的清晰度。代码注释的目的时要使代码更易于被其他开发人员等理解。2:保持注释的简洁。 3:注释信息应该包括代码的功能。 4:除变量定义等较短语句的注释使用行尾注释外,其他注释当避免使用行尾注释。 5:JavaDoc规范 对类,方法,变量等注释需要符合javadoc规范,对每个类,方法都应详细说明其功能条件,参数等。类注释中应当包含版本和作者信息。 1)类,接口注释在类,接口定义之前当对其进行注释,包括类,接口的目的,作用,功能,继承于何种父类,实现的接口,实现的算法,使用方法,示例程序等。 2)方法注释以明确该方法功能,作者,各参数含义以及返回值等。

3)其他注释应对重要的变量及不易理解的分支条件表达式加以注释,以说明其含义等。四命名规范 1:对变量,类,接口及包的命名应该使用英文。严禁使用汉语拼音及不相关单词命名。更不可以使用汉字来进行命名。采用大小写混合,提高名字的可读性。一般应该采用小写字母,但时类和接口的名称的首字母,以及任何中间单词的首字母应该大写。包名全部小写。 2:尽量少用缩写,但如果一定要用,当使用公共缩写和习惯缩写等,如implement可缩写为impl,manager可缩写成mgr等。 3:包名一般以项目或模块名命名,少用缩写和长名,一律小写。 包名按照如下规定组成[基本包].[项目名].[模块名].[子模块名].…. 如:org.skyinn.skyhome.dao.hibernate。 不得将类直接定义在基本包下,所有项目中的类,接口等都当定义在各自的项目和模块包中。 4:类,接口所有单词首字母大写,最好能够见名知意。一般采用名词。接口可带I前缀。 或able,dao后缀。 5:字段常量采用完整的英文大写单词,单词之间用下划线连接,如DEFAULT_V ALUE. 6:变量和参数对不易识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用strXXX,boolean使用isXXX,hasXXX等等。除第一个单词外其余单词的首字母大写。7:集合采用复数名称来表示队列中存放的对象类型,名词采用完整的英文描述。 例如:Vector vProducts= new Vector(); Array aryUsers= new Array(); 8:方法方法的名称应采用完整的英文描述,大小写混合使用:所有中间单词的第一个字母大写。方法名称的第一个单词常常采用一个强烈动作色彩的动词。取值类使用get前缀,设置类使用set前缀。例如getName(),setSarry()。 9:异常类名由表示该异常类型的单词和Exception组成,如ActionException。异常实例一般使用e,ex等。 10:数组的命名 数组应该总是用下面的方式来命名:byte[] buffer; 而不是:byte buffer[]; 五:类与接口 1:基本原则:一个类只做一件事情。另一个原则时根据每个类的职责进行划分,比如用User 来存放用户信息,而用UserDAO来对用户信息进行数据访问操作,用UserServer对用户信息的业务操作等等。多个类中使用相同方法时将其方法提到一个接口中或使用抽象类,尽量提高重用度。不希望被实例化的类的缺省构造方法声明为private。 2:一般而言,接口定义行为,而抽象类定义属性和共有行为,注意2者的取舍,在设计中可由接口定义公用的行为,由一个抽象类来实现其部分或全部方法,以给子类提供统一的行为为定义。 六:方法 一个方法只完成一项功能。方法参数类型和参数返回值尽量接口化,以屏蔽具体的实现细节,提高系统的可扩展性,例如:public void addUser(List userList){} public List listAllUsers(){} 七:Web 命名规范 一:jsp页面命名 对于某个功能块的增删改查页面定义,最好使用

软件项目方案通用模板

软件系统项目通用 方 案 书

目录 1 文档修订记录及说明 (4) 2 编写目的 (5) 3 项目背景 (5) 4 项目要求 (5) 4.1 性能要求 (5) 4.1.1 负载均衡 (5) 4.1.2 不间断服务 (5) 4.1.3 数据吞吐及并发 (5) 4.1.4 可用性 (5) 4.2 环境要求 (5) 4.2.1 服务端 (5) 4.2.2 客户端 (5) 4.2.3 用户接口 (6) 4.3 安全 (6) 4.4 维护 (6) 4.5 转移、转换 (6) 5 其它需求 (6) 6 项目管理和实施 (6) 6.1 需求调研 (6) 6.2 需求分析 (6) 6.3 项目设计 (6) 6.3.1 业务逻辑设计 (6) 6.3.2 程序逻辑设计 (6) 6.3.3 UI模型设计 (6) 6.3.4 数据库模型设计 (6) 6.4 项目开发 (6) 6.4.1 环境搭建 (6) 6.4.2 开发 (7) 6.4.3 调试 (7) 6.5 测试及部署 (7) 6.5.1 测试 (7) 6.5.2 部署 (7) 6.6 试运行 (7) 6.7 需求满足度 (7) 6.8 项目验收 (7) 6.9 质量控制 (7) 6.9.1 设计控制 (7) 6.9.2 代码控制 (7) 6.9.3 测试控制 (7) 6.9.4 部署控制 (7) 7 售后与技术支持 (7) 7.1 技术支持服务 (7)

7.2 资料服务 (7) 7.3 培训服务 (8) 7.4 响应时间 (8)

1 文档修订记录及说明 修订日期修订人说明

2 编写目的 3 项目背景 4 项目要求 4.1 性能要求 4.1.1 负载均衡 4.1.2 不间断服务 4.1.3 数据吞吐及并发4.1.4 可用性 4.2 环境要求 4.2.1 服务端 4.2.1.1硬件 4.2.1.2软件 4.2.2 客户端 4.2.2.1硬件 4.2.2.2软件

java编码规范考试题答案

一、单选题 1. 如下关于集合类的描述错误的是B A. 含有集合意义的属性命名,尽量包含其复数的意义 B. 集合中的数据不需要释放,垃圾回收器会自动回收 C. 集合必须指定模板类型 D. 使用集合类时要设置初始化容量 2. 关于线程以下说法错误的有B A. 新起一个线程,都要使用Thread.setName(“…”)设置线程名 B. 在JDK1.5或更新的版本中,若字符串拼接发生在单线程环境,使用StringBuffer C. 对多线程访问的变量、方法,必须加锁保护,避免出现多线程并发访问引起的问题 D. 线程使用时,要在代码框架中使用线程池,避免创建不可复用的线程;禁止在循环中创建新线程,否则会引起JVM资源耗尽 3. 下面哪个是推荐使用的对称密码算法B A. DES B. AES C. SHA D. RSA

4. 以下说法正确的有C A. 程序中的一些状态多直接用数字表示,如函数执行成功return 1 B. 对于表示函数执行错误,多用约定的错误码来标识 C. 用有意义的静态变量或者枚举来代替数字型的程序状态,如函数执行成功return SUCCESS D. 程序中的魔鬼数字并不可怕,需要所有开发人员努力理解这些数字的含义 5. 下列错误使用异常的做法是D A. 在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常 B. 一个方法不应抛出太多类型的异常。throws/exception子句标明的异常最好不要超过三个 C. 异常捕获尽量不要直接catch (Exception ex),应该把异常细分处理 D. 程序内抛出的异常本身就可说明异常的类型、抛出条件,可不填写详细的描述信息。捕获异常后用exception.toString()取到详细信息后保存 6. 关于命名规范,以下说法错误的有D A. 属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同 B. 方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法 C. 方法中,存取属性的方法采用setter 和getter方法,动作方法采用动词和动宾结构

Java编程规范

Java编程规范本文引用阿里Java开发手册。GitHub阅读地址: 目录 编程规约 - 命名规约 - 常量定义 - 格式规范 - OOP规约 - 集合处理 - 并发处理 - 控制语句 - 注释规约 - 其他 - 异常处理 - 建表规约 - 索引规约 - SQL规约

- ORM规约 编程规约 命名规约 1、【强制】所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 反例: _name / __name / $Object / name_ / name$ / Object$1 2、【强制】所有编程相关的命名严禁使用拼音与英语混合的方式,更不允许直接使用中的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即纯拼音的命名方式也要避免采用。 反例: DaZhePromotion [打折] / getPingfenByName() [评分] / int 变量 = 3; 正例: ali / alibaba / taobao / cainiao / aliyun / youku / hangzhou 等国际通用的名称,可视为英文。12345 3、【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名) DO / DTO / VO / DAO 等。 正例: MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例: macroPolo / UserDo / XMLService / TCPUDPDeal

/ TAPromotion123 4、【强制】方法名、参数名、成员变量、局部变量都统一只用 lowerCamelCase 风格,必须遵从驼峰形式。 正例: localValue / getHttpMessage() / inputUserId1 5、【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。 正例: MAX_STOCK_COUNT 反例: MAX_COUNT123 6、【强制】抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。 7、【强制】中括号是数组类型的一部分,数组定义如下:String[] args ; 反例:请勿使用 String args[] 的方式来定义1 8、【强制】 POJO 类中的任何布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。 反例:定义为基本数据类型 boolean isSuccess;的属性,它的方法也是 isSuccess(), RPC框架在反向解析的时候,“以为”对应的属性名称是 success,导致属性获取不到,进而抛出异常。1 9、【强制】包名统一使用小写,点分隔符之间有且仅有一

软件开发设计文档模板

软件文档编写指南 封面格式: 文档编号 版本号 文档名称: 项目名称: 项目负责人: 编写年月日 校对年月日 审核年月日 批准年月日 开发单位 系统规约说明书(System Specification) 一.引言 A.文档的范围和目的 B.概述 1.目标 2.约束 二.功能和数据描述 A.系统结构 1.结构关系图 2.结构关系图描述 三.子系统描述 A.子系统N的结构图规约说明 B.结构字典 C.结构连接图和说明 四.系统建模和模拟结构 A.用于模拟的系统模型

B.模拟结果 C.特殊性能 五.软件项目问题 A.软件项目可行性研究报告 B.软件项目计划 六.附录 软件项目可行性研究报告(Report for Feasibility Study) 一.引言 1.编写目的(阐明编写可行性研究报告的目的,指出读者对象) 2.项目背景(应包括:(1)所建议开发的软件名称;(2)项目的任务提出者、开发者、用户及实现单位;(3)项目与其他软件或其他系统的关系。) 3.定义(列出文档中用到的专门术语的定义和缩略词的原文。) 4.参考资料(列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源。)二.可行性研究的前提 1.要求(列出并说明建议开发软件的基本要求,如(1)功能;(2)性能;(3)输出;(4)输入;(5)基本的数据流程和处理流程;(6)安全与保密要求;(7)与软件相关的其他系统;(8)完成期限。) 2.目标(可包括:(1)人力与设备费用的节省;(2)处理速度的提高;(3)控制精度和生产能力的提高;(4)管理信息服务的改进;(5)决策系统的改进;(6)人员工作效率的提高,等等。) 3.条件、假定和限制(可包括:(1)建议开发软件运行的最短寿命;(2)进行系统方案选择比较的期限;(3)经费来源和使用限制;(4)法律和政策方面的限制;(5)硬件、软件、运行环境和开发环境的条件和限制;(6)可利用的信息和资源;(7)建议开发软件投入使用的最迟时间。) 4.可行性研究方法 5.决定可行性的主要因素 三.对现有系统的分析 1.处理流程和数据流程 2.工作负荷 3.费用支出(如人力、设备、空间、支持性服务、材料等项开支。) 4.人员(列出所需人员的专业技术类别和数量。) 5.设备 6.局限性(说明现有系统存在的问题以及为什么需要开发新的系统。) 四.所建议技术可行性分析 1.对系统的简要描述 2.处理流程和数据流程 3.与现有系统比较的优越性 4.采用建议系统可能带来的影响 (1)对设备的影响 (2)对现有软件的影响

(完整版)阿里巴巴编码规范(Java)题库

多选 1.如何处理单元测试产生的数据,下列哪些说法是正确的?ABC A .测试数据入库时加特殊前缀标识。 B .测试数据使用独立的测试库。 C .自动回滚单元测试产生的脏数据。 D .无须区别,统一在业务代码中进行判断和识别。 多选 2.关于并发处理,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 B .同步处理时,能锁部分代码区块的情况下不要锁整个方法;高并发时,同步调用应该考虑到性能损耗。 C .创建线程或线程池时,推荐给线程指定一个有意义的名称,方便出错时回溯。 D .推荐使用Executors.newFixedThreadPool(int x)生成指定大小的线程池。(线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式) 多选 3.下列哪些说法符合《阿里巴巴Java开发手册》:ACD A .对于“明确停止使用的代码和配置”,如方法、变量、类、配置文件、动态配置属性等要坚决从程序中清理出去,避免造成过多垃圾。 B .永久弃用的代码段注释掉即可,即不用加任何注释。 C .对于暂时被注释掉,后续可能恢复使用的代码片断,在注释代码上方,统一规定使用三个斜杠(///)来说明注释掉代码的理由。 D .不要在视图模板中加入任何复杂的逻辑。 多选 4.关于分页查询,下列哪些说法符合《阿里巴巴Java开发手册》:ABC A .分页查询,当统计的count为0时,应该直接返回,不要再执行分页查询语句。 B .iBATIS自带的queryForList(String statementName,int start,int size)分页接口有性能隐患,不允许使用。 C .定义明确的sql查询语句,通过传入参数start和size来实现分页逻辑。 D .可使用存储过程写分页逻辑,提高效率。

软件开发代码规范(Java)

软件开发代码规范(C) (仅通普信息技术股份有限公司供内部使用) 拟制:杨超日期:2015-3-10审核:夏峰日期:2015-3-10核准:冯敬刚日期:2015-3-17签发:韩殿成日期:2015-3-21文档版本:V1.11 黑龙江通普信息技术股份有限公司

版本历史

目录 第一章代码开发规范及其指南 0 1.1目的 0 1.2程序内命名规范 0 1.3文件命名规范 (1) 1.4J AVA 文件样式 (1) 1.5代码编写格式 (6) 第二章程序编写规范方法 (8) 2.1权限修饰 (8) 2.2其他规范 (8) 2.3编程指南 (10) 第三章其他要求 (12)

第一章代码开发规范及其指南 1.1 目的 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性) 1.2 程序内命名规范 ●Package的命名:Package 的名字应该都是由一个小写单词组成。 ●Class 的命名:Class 的名字必须由大写字母开头而其他字母都小写的单词组 成 ●Class 变量的命名:变量的名字必须用一个小写字母开头。后面的单词用大 写字母开头。 ●Static Final 变量的命名:Static Final 变量的名字应该都大写,并且指出完整 含义。 ●参数的命名:参数的名字必须和变量的命名规范一致。 ●数组的命名:数组应该总是用下面的方式来命名: byte[] buffer; 而不是 byte buffer[]; ●方法的参数:使用有意义的参数命名,如果可能的话,使用和要赋值的字 段一样的名字: SetCounter(int size){ this.size = size;

Java编程规范试题

JAVA编程规范--试题 姓名:工号:部门:成绩: 一. 判断题(共15题,每题2分,直接在括号内打“√”或“×”) 1、任何时候都不要使接口可以序列化。x 2、相对独立的程序块之间、变量说明之后必须加空行。√ 3、当程序需要释放对象的时候,应该手工调用finalize方法以释放对象。x 4、公司的规范要求注释率是20%以上,并且必须有助于对程序的阅读理解。x 5、为了程序更加简洁,我们应该尽量使用下面的方式来赋值:a = b = 1 。x 6、每个类都需要定义构建器。x 7、类名、方法名、属性名的命名,都应该使用意义完整的英文描述。√ 8、main() 方法的定义是public static void main(String args[])。x 9、常量名应该使用全大写,英文单词之间用下划线或者-分隔开。并且,常量应该使用final static修饰。x 10、公有方法参数名可以和属性名相同,但局部变量不能和属性名相同。√ 11、一两行代码就能完成的功能没有必要编写方法实现。x 12、对于模块间接口方法的参数的合法性检查,调用者和被调用者都应该对参数进行合法性检查。 x 13、运行期异常使用RuntimeException的子类来表示,必须在方法声明上加throws子句。x非运 行期异常是从Exception继承而来的,不用在可能抛出异常的方法声明上加throws子句。x 14、使用ObjectStream 的方法后,调用release() ,释放对象。X 15、减小单个方法的复杂度,使用的 if, while, for, switch 语句要在10个以内。√ 二、单项选择题(共23题,每题2分) ( c )1、排版时,代码缩进应该采用的方式是: (A)Tab缩进 (B)2个空格缩进 (C)4个空格缩进 (D)8个空格缩进

相关文档