ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:129.54KB ,
文档编号:1539715      下载积分:6 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-1539715.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(Dowson)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(CMMI- 软件开发代码编程规范模板下载.docx)为本站会员(Dowson)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

CMMI- 软件开发代码编程规范模板下载.docx

1、广东技术股份有限公司 1 编 程 规 范 文件编号HW-SP-IMPT-G01 文件状态 草稿 正式发布 正在修改 当前版本V1.0 拟 制张三日期年月日 审 核李四日期年月日 批 准王五日期年月日 发布日期年月日 生效日期年月日 广东技术股份有限公司 2 广 东技 术 股 份 有 限 公 司 修订历史记录 A - 增加M - 修订D - 删除 变更版本号日期变更类型 (A*M*D) 修改人摘要备注 1.0A建立编程规范 广东技术股份有限公司 3 广东技术股份有限公司 4 目录 1目的.5 2使用范围.5 3C/C+编程规范.5 3.1文件结构.5 3.2程序的版式.10 3.3命名规则.18

2、 3.4缩进规则.23 4JAVA 编程规范.25 4.1代码组织与风格.25 4.2注解.26 4.3命名.29 4.4声明.31 4.5表达式和语句.32 4.6错误处理和异常事件.33 4.7可移植性.33 4.8复用.33 广东技术股份有限公司 5 1目的 定义组织的 C/C+,JAVA 编程规范,以提高程序的可读性、可靠性。 2使用范围 适合于公司采用 C/C+、JAVA 编程语言开发的所有软件项目。 3C/C+编程规范 3.1文件结构 每个 C/C+程序通常分为两个文件。一个文件用于保存程序的声明(declaration) , 称为头文件。另一个文件用于保存程序的实现(implem

3、entation) ,称为定义(definition) 文件。 C/C+程序的头文件以“.h”为后缀,C 程序的定义文件以“.c”为后缀,C+程序 的定义文件通常以 “.cpp” 为后缀 (也有一些系统以 “.cc” 或 “.cxx” 为后缀, 这里以 Windows 平台为准) 。 3.1.1版权和版本的声明 版权和版本的声明位于头文件和定义文件的开头(参见示例 3-1) ,主要内容有: 版权信息 文件名称、标识符、摘要 当前版本号、作者/修改者、完成日期 版本历史信息 说明:Description 一项描述本文件的内容、功能、内部各部分之间的关系及本文件与 其它文件关系等。History

4、是修改历史记录列表,每条修改记录应包括修改日期、修改者及 修改内容简述。示例: 广东技术股份有限公司 6 /* *Copyrights 2006,东信和平智能卡股份有限公司 *XXXXXX 项目组 *All rights reserved. * *Filename: *Sample.cpp *Indentifier: *EP-PRO-SRC-020620-TST(这里只作为示例) *Description: *这里只作为示例 *Version: *V1.0 *Author: *张三 *Finished: *2006 年 06 月 07 日 *History: *张三2002/06/01V0.9

5、 文件创建 *张三2002/06/07V1.0 修改了 */ 广东技术股份有限公司 7 /* *Copyrights 2006,东信和平智能卡股份有限公司 *XXXXXX 项目组 *All rights reserved. * *Filename: *这里填入该文件的名称 *Indentifier: *这里填入该文件的标识(参见软件配置管理) *Description: *这里填入该对文件内容的简要描述(一般情况下用中文) *Version: *Vx.x *Author: *填入作者姓名(一般情况下用中文) *Finished: *xxxx 年 xx 月 xx 日 *History: *(作者

6、日期版本说明) *文件修订历史纪录(一般情况下用中文) */ / 版权和版本声明见示例 3-1,此处省略。 #ifndef Sample_H/ 防止 Sample.h 被重复引用 #define Sample_H #include / 引用标准库的头文件 #include “MyClass.h”/ 引用非标准库的头文件 void FunctionX();/ 全局函数声明 class Sample/ 类结构声明 广东技术股份有限公司 8 3.1.2头文件的结构 头文件由三部分内容组成: 头文件开头处的版权和版本声明(参见示例 3-1) / 版权和版本声明见示例 3-1,此处省略。 #includ

7、e “Sample.h”/ 引用头文件 void FunctionX()/ 全局函数的实现体 void Sample:MethodX() / 类成员函数的实现体 示例 3-4 C+/C 定义文件的结构 示例 3-2版本和版权的声明 广东技术股份有限公司 9 预处理块 函数和类结构声明等 假设头文件名称为 Sample.h,头文件的结构参见示例 3-3 【规则 3-2-1】为了防止头文件被重复引用,应当用 ifndef/define/endif 结构产生预 处理块 【规则 3-2-2】用 #include 格式来引用标准库的头文件(编译器将从 标准库目录开始搜索) 【规则 3-2-3】用 #in

8、clude “filename.h” 格式来引用非标准库的头文件(编译器 将从用户的目录开始搜索) 【建议 3-2-1】头文件中只存放“声明”而不存放“定义” 在 C+ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。 这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与 声明分开,不论该函数体有多么小 【建议 3-2-2】 不提倡使用全局变量, 尽量不要在头文件中出现象 extern int value 这 类声明 3.1.3定义文件的结构 定义文件有三部分内容: (1)定义文件开头处的版权和版本声明(参见示例 3-1) (2)对一些头文件的引用

9、 (3)程序的实现体(包括数据和代码) 假设定义文件的名称为 Sample.cpp,定义文件的结构参见示例 3-4。 3.1.4头文件的作用 早期的编程语言如 Basic、Fortran 没有头文件的概念,C/C+语言的初学者虽然会用 使用头文件,但常常不明其理。这里对头文件的作用略作解释: 示例 3-3C/C+头文件的结构 广东技术股份有限公司 10 (1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布, 只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声 明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代 码。 (2)头文件能加强类型

10、安全检查。如果某个接口被实现或被使用时,其方式与头文 件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员 调试、改错的负担。 3.1.5目录结构 如果一个软件的头文件数目比较多(如超过十个) ,通常应将头文件和定义文件分别保 存于不同的目录,以便于维护。 例如可将头文件保存于 include 目录,将定义文件保存于 source 目录(可以是多级 目录) 。 如果某些头文件是私有的,它不会被用户的程序直接引用,则没有必要公开其“声明” 。 为了加强信息隐藏,这些私有的头文件可以和定义文件存放于同一个目录。 3.2程序的版式 版式虽然不会影响程序的功能,但会影响可读性。程序的版

11、式追求清晰、美观,是程序 风格的重要构成因素。 可以把程序的版式比喻为“书法” 。好的“书法”可让人对程序一目了然,看得兴致勃 勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请程序员们 学习程序的“书法” ,弥补大学计算机教育的漏洞,实在很有必要。 3.2.1空行 空行起着分隔程序段落的作用。 空行得体 (不过多也不过少) 将使程序的布局更加清晰。 空行不会浪费内存,虽然打印含有空行的程序是会多消耗一些纸张,但是值得。所以不要舍 不得用空行。 【规则 2-3-1】在每个类声明之后、每个函数定义结束之后都要加空行。参见示例 2-1 (a) 广东技术股份有限公司 11 【规

12、则 2-3-2】在一个函数体内,逻揖上密切相关的语句之间不加空行,其它地方应 加空行分隔。参见示例 2-1(b ) / 空行 void Function1() / 空行 void Function2() / 空行 void Function3() / 空行 while (condition) statement1; / 空行 if (condition) statement2; else statement3; / 空行 statement4; 广东技术股份有限公司 12 3.2.2代码行 【规则 2-2-1】一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样 的代码容易阅读,并且方

13、便于写注释。 【规则 2-2-2】if、for、while、do 等语句自占一行,执行语句不得紧跟其后。不论 执行语句有多少都要加。这样可以防止书写失误。 【建议 2-2-1】尽可能在定义变量的同时初始化该变量(就近原则) 如果变量的引用处和其定义处相隔比较远, 变量的初始化很容易被忘记。 如果引用了未 被初始化的变量,可能会导致程序错误。本建议可以减少隐患。例如: int width = 10;/ 定义并初绐化 width int height = 10; / 定义并初绐化 height int depth = 10;/ 定义并初绐化 depth 示例 2-2(a)为风格良好的代码行,示例

14、2-2(b)为风格不良的代码行。 int width; / 宽度 int height; / 高度 int depth; / 深度 int width, height, depth; / 宽度高度深度 x = a + b; y = c + d; z = e + f; X a + b; y = c + d; z = e + f; if (width height) dosomething(); if (width =” 、 “=” 、 “+” 、 “*” 、 “%” 、 “ i10; i+)和 if (a=b) i10; i+)/ 良好的风格 for(i=0;i10;i+)/ 不良的风格 for

15、 (i = 0; I 10; i +)/ 过多的空格 x = a b ? a : b;/ 良好的风格 x=aFunction();/ 不要写成b - Function(); 3.2.4对齐 【规则 2-4-1】程序的分界符和应独占一行并且位于同一列,同时与引用它 们的语句左对齐。 【规则 2-4-2】 之内的代码块在右边数格处左对齐。 示例 2-4(a)为风格良好的对齐,示例 2-4(b)为风格不良的对齐。 void Function(int x) / program code void Function(int x) / program code if (condition) / progr

16、am code else / program code if (condition) / program code else / program code for (initialization; condition; update) / program code for (initialization; condition; update) / program code While (condition) / program code while (condition) / program code 示例2-3 代码行内的空格 广东技术股份有限公司 15 如果出现嵌套的,则使用缩进对齐,如:

17、 3.2.5长行拆分 【规则 2-5-1】代码行最大长度宜控制在 70 至 80 个字符以内。代码行不要过长,否 则眼睛看不过来,也不便于打印。 【规则 2-5-2】长表达式要在低优先级操作符处拆分成新行,操作符放在新行之首(以 便突出操作符) 。拆分出的新行要进行适当的缩进,使排版整齐,语句可读。 if (very_longer_variable1 = very_longer_variable12) / 类的成员函数 【规则 3-3-9】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。例 如: int minValue; int maxValue; int SetValue();

18、int GetValue(); 【建议 3-3-1】尽量避免名字中出现数字编号,如 Value1,Value2 等,除非逻辑上的 确需要编号。 这是为了防止程序员偷懒, 不肯为命名动脑筋而导致产生无意义的名字 (因 为用数字编号最省事) 。 3.3.2简单的 Windows 应用程序命名规则 本文对“匈牙利”命名规则做了合理的简化,下述的命名规则简单易用,比较适合于 Windows 应用软件的开发。 【规则 3-2-1】类名和函数名用大写字母开头的单词组合而成。例如: class Node;/ 类名 class LeafNode;/ 类名 void Draw(void);/ 函数名 void

19、SetValue(int value); / 函数名 【规则 3-2-2】变量和参数用小写字母开头的单词组合而成。例如: BOOL flag; int drawMode; 【规则 3-2-3】常量全用大写的字母,用下划线分割单词。例如: const int MAX = 100; const int MAX_LENGTH = 100; 广东技术股份有限公司 21 【规则 3-2-4】静态变量加前缀 s_(表示 static) 。例如: void Init() static int s_initValue;/ 静态变量 【规则 3-2-5】如果不得已需要全局变量,则使全局变量加前缀 g_(表示 g

20、lobal) 。 例如: int g_howManyPeople; / 全局变量 int g_howMuchMoney; / 全局变量 【规则 3-2-6】类的数据成员加前缀 m_(表示 member) ,这样可以避免数据成员与 成员函数的参数同名。例如: void Object:SetValue(int width, int height) m_width = width; m_height = height; 【规则 3-2-7】类的数据成员加前缀 h 表示变量是一个 HANDLE 类型的句柄。 例如:hFIleHandle 3.3.3C+Builder 控件命名规则 分类前缀类控件类型

21、单元/容器fm_TForm窗体 fa_TFrameFrame panel_TPanel面板 按钮btn_HWutton下拉式列表框 bbtn_HWiHWutton图片按钮 广东技术股份有限公司 22 sbtn_TSpeedButton快速按钮 文本/输入/ 选择 lab_TLabel标签 ed_TEdit文本输入框 red_TRichEditRich Edit 控件 memo_TMemoMemo 控件 chk_TCheckBoxCheckBox lb_TLisHWox列表框 rd_TRadioButtonRadioButton 图像img_TImage图片框 imgl_TImageList图片

22、列表 cht_TChart图表 菜单mm_TMainMenu主菜单 mi_TMenuItem菜单项 pop_TPopMenu弹出菜单 工具栏HW_TToolBar工具栏 HWtn_TToolButton工具条按钮 cb_TCoolBarCoolBar 网格sg_TStringGrid网格 asg_TAdvStringGridAdvStringGrid(第三方控件) 布局/信息组 织 lv_TListViHW列表显示控件 tv_TTreeViHW树型结构显示控件 tabc_TTabControl分页、选项卡 pagc_TPageControl spl_TSplitter分隔条 scr_TScro

23、llBar滚动条 广东技术股份有限公司 23 stat_TStatusBar状态栏 3.4缩进规则 在各个编译环境中把 Tab 键的长度改为 4 个空格长。 大括号单独占一行,但是不缩进。 SQL 语句的缩进风格 (1)查询列表的书写风格(与注释综合考虑) 一行有多列,超过 80 个字符时,基于列对齐原则,采用下行缩进 SELECT col1,col2,. colm,coln,. INTO v_col1,v_col2,. v_colm,. (2)WHERE 子句的书写规范 每个条件占一行 嵌套查询条件书写规范 WHERE con1 AND con2 AND col3 NOT IN ( SELE

24、CT col3 FROM t2 WHERE .); 控制结构的缩进 程序应以缩进形式展现程序的块结构和控制结构。 下列保留字的下一行缩进四格 ,BEGIN、THEN、ELSE、ELSIF、LOOP 广东技术股份有限公司 24 下列保留字所在行前移四格 END、ELSE、ELSIF、END IF、END LOOP 缩进的限制 (1)每次缩进标准为 4 个空格,可使用 TAB 键。 (2)任何一个程序最大行宽不得超过 80 列,第一行续行语句缩进四格,后续续行语句与 第一行续行语句对齐。长语句的下一语句以长语句为对齐基准参照上面规定执行。 广东技术股份有限公司 25 4Java 编程规范 4.1代

25、码组织与风格 4.1.1缩进: 代码中以 TAB 4 缩进。 4.1.2长度: 单个函数长度不应大于 100 行(不包括注释行) ,超过时应当考虑使用子函数。 4.1.3行宽: 程序最大行宽一般不超过 80 列,超过者应折行书写(因编译器、工具兼容问题可以不 折行) 。 4.1.4间隔: 类、方法等之间应以空行相隔,以增加可读性。 4.1.5风格: 对每个文件、类、接口、方法等都应有较详细的注释。 类、接口、方法的左括号换行并独占一行; 各控制、条件、循环的语句级别的左括号紧跟该代码段最后一句后,不单独占行。 较长的方法以及类、接口等的右括号后应使用/end .标识其结束。 具体参考如下例:

26、/* * 文件、包注释 */ package user; /* * 引用包注释 */ import java.uitl.*; /* * 类注释 */ 广东技术股份有限公司 26 public class User /变量注释 private Name; /* * 方法注释 */ public String getUserName(String userID) String userName = nHW String(); /语句注释 if ( null != userID) /条件注释 userName = UserBean.getUserName(userID); /end if retur

27、n userName; /end getUserName end User 4.2注解 4.2.1基本原则 1注释应该增加代码的清晰度。代码注释的目的是要使代码更易于被同时参与程序设计的 开发人员以及其他后继开发人员理解。 2如果你的程序不值得注释,那么它也很可能也不值得运行。 3避免使用装饰性内容。 4保持注释的简洁。 5注释信息不仅要包括代码的功能,还应给出原因。 6尽量不使用行末注释。 4.2.2文件、包注解 在每个文件、包的头部都应该对该文件的功能、作用、作者、版权以及修改记录等进行 注解。参考如下模板: 广东技术股份有限公司 27 /* * title任务队列管理类 * versio

28、n1.0 * copyrightCopyright (c) 2003-4-18 * companyEastcompeacecomSmart Card Co., Ltd. * authorJack * date2003-04-18 * description 管理任务队列 * history *1. 2005-05-08Jack完成该类的编码 *2. 2005-05-09david添加 getProperties() */ 4.2.3类、接口注解 在类、接口定义之前当对其进行注释,包括类、接口的目的、作用、功能、继承于何种 父类,实现的接口以及重大的修改记录等等,基本依据标准的 JavaDoc

29、规范。 4.2.4方法注解 依据标准 JavaDoc 规范对方法进行注释,以明确该方法功能、作用、各参数含义以及 返回值等。复杂的算法用/*/在方法内注解出。如: /* * YHPCZLam sql SQL 语句 * return ResultSet 结果集 * throws SQLException SQL 异常 * description 执行查询。 * 该方法调用 Statement 的 executeQuery(sql)方法并返回 ResultSet 结果集。 */ public ResultSet executeQuery(String sql) throws SQLExceptio

30、n 4.2.5语句注解 应对重要的变量加一注释,以说明其含义等。 应对不易理解的分支条件表达式加注释。不易理解的循环,应说明出口条件。过长的方 法实现,应将其语句按实现的功能分段加以概括性说明。 广东技术股份有限公司 28 对于异常处理注明正常情况及异常情况或者条件, 并说明当异常发生时程序当如何处理。 单行语句注解应当比其注解的语句缩进两个字符。 4.2.6注解参考表 项目注释部分 参数 参数类型 参数用来做什么 任何约束或前提条件 示例 字段/属性 字段描述 注释所有使用的不变量 示例 并行事件 可见性决策 类 类的目的 已知的问题 类的开发/维护历史、版本 注释出采用的不变量 并行策略

31、编译单元 每一个类/类内定义的接口,含简单的说明 文件名和/或标识信息 修改/维护记录 版权信息 获取成员函数若可能,说明为什么使用滞后初始化 接口 目的 它应如何被使用以及如何不被使用 局部变量用处/目的 成员函数注释 成员函数做什么以及它为什么做这个 哪些参数必须传递给一个成员函数 成员函数返回什么 已知的问题 任何由某个成员函数抛出的异常 可见性决策 成员函数是如何改变对象的 包含任何修改代码的历史 如何在适当情况下调用成员函数的例子 适用的前提条件和 后置条件 成员函数内部注释控制结构 广东技术股份有限公司 29 代码做了些什么以及为什么这样做 局部变量 难或复杂的代码或代码 处理顺序

32、 包 包的基本原理 包中的类 功能和用途 包的开发/修改/维护/版本信息 版权信息 4.3命名 4.3.1基本原则 1使用可以准确说明变量/字段/类的完整的英文描述符。例如,采用类似 firstName, grandTotal 或 CorporateCustomer 这样的名字。 2采用该领域的术语。如果用户称他们的“客户” (clients) 为“顾客” (customers), 那么就采用术语 Customer 来命名这个类,而不用 Client。 3采用大小写混合,提高名字的可读性。一般应该采用小写字母,但是类和接口的名字的 首字母,以及任何中间单词的首字母应该大写。 4尽量少用缩写。

33、5避免使用长名字(最好不超过 15 个字母) 。 6避免使用相似或者仅在大小写上有区别的名字。 4.3.2字段 1常量:采用完整的英文大写单词,在词与词之间用下划线连接。 2变量:对不易清楚识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用 strXXX,boolean 使用 isXXX,hasXXX 等等。除第一各个单词外其余单词首字母大写。 3命名时应使用复数来表示它们代表多值。如:orderItems。 4组件/部件:应采用完整的英文描述符命名组件(接口部件) ,使用匈牙利命名法则。如: btnOK,lblName。 5集合:一个集合,例如数组和矢量,应采用复数命名来表示队列中存

34、放的对象类型。命 名应采用完整的英文描述符,名字中所有非开头的单词的第一个字母应大写,适当使用 广东技术股份有限公司 30 集合缩写前缀。如:orderItems,aryUsers。 4.3.3类、接口 应当所有单词首字母大写。 应当能间接而确切地反应该类、 接口的含义。 一般采用名词。 4.3.4方法 方法的命名应采用完整的英文描述符, 大小写混合使用: 所有中间单词的第一个字母大 写。方法名称的第一个单词常常采用一个有强烈动作色彩的动词。 取值类使用 get 前缀,设值类使用 set 前缀,判断类使用 is(has)前缀。 例: getName() setSarry() isLogin()

35、 方法参数建议顺序:(被操作者,操作内容,操作标志,其他) 例:public void replace(String sourceStr,String oldStr,String nHWStr) 4.3.5文件、包 文件名当与其类严格相同,包名一律小写,多单词以下划线连接。 基本包:org.skyinn,所有包、文件都属于此包。 4.3.6命名约定列表 操作项命名约定示例 参数使用传递值/对象的完整的英文描述符。userID 字段/属性 字段采用完整的英文描述,第一个字母小写,任何中间 单词的首字母大写。 firstName 布尔型的获取 成员函数 所有的布尔型获取函数必须用单词 is(has

36、)做前缀。 isString(),hasMone y() 类采用完整的英文描述符,所有单词的第一个字母大写。Customer 编译单元文件 使用类或接口的名字,或者如果文件中除了主类之外还 有多个类时, 加上前缀 java 来说明它是一个源码文件。 Customer.java 部件/组件 使用完整的英文描述来说明组件的用途,将组件类型使 用匈牙利命名法则作其前缀 btnOK,cboTypeList 构造函数使用类名Customer() 析构函数 Java 没有析构函数,但一个对象在垃圾收集时,调用成 员函数 finalize() 。 finalize() 广东技术股份有限公司 31 异常通常采

37、用字母 e 表示异常。e 静态常量字段 (常量) 全部采用大写字母,单词之间用下划线分隔。采用静态 常量获取成员函数。 DEFAULT_NAME 获取成员函数被访问字段名的前面加上前缀 get。getUserName() 接口 采用完整的英文描述符说明接口封装,所有单词的第一 个字母大写。使用 I 前缀,其后使用 able,. ible 或者 er 等后缀,但这不是必需的。 IRunnable IPrompter 局部变量 采用完整的英文描述符,第一个字母小写,但不要隐藏 已有字段。例如,如果有一个字段叫 firstName,不要 让一个局部变量叫 firstName。 strName,tot

38、alMon ey 循环计数器通常采用字母 i,j,k 或者 counter,indexi,j,k,count,index 包 采用完整的英文描述符,所有单词都小写,多个单词以 下划线相连。所有包都属于 org.skyinn org.skyinn.quasar org.skyinn.skyhom e 成员函数 采用完整的英文描述说明成员函数功能,第一个单词尽 可能采用一个生动的动词,除第一个单词外,每个单词 第一个字母小写。 openFile() addUser() 设置成员函数被访问字段名的前面加上前缀 set。 setName() setPower() 4.4声明 4.4.1包 1packa

39、ge 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且 按照字母顺序排列。 如果 import 行中包含了同一个包中的不同子目录, 则应该用 * 来 处理。 2在导入包时当完全限制代码所使用的类的名字,而少用通配符的方式,如: import java.awt.Color; import java.awt.Button; 3在包名下空一行再写 import. package com.EP.dev1.personinformationsys.sysmanage.log; import java.io.*; import java.sql.Connection; 广东

40、技术股份有限公司 32 import com.ep.dev1.personinformationsys.dbsys.dbtools.*; 4.4.2类、接口 开括号与闭括号各自独立成行,并对齐,并使用/end .标识。 声明顺序(建议) : 私有字段 公有/受保护字段 构造函数 finalize() 公共成员函数 被保护成员函数 私有成员函数 尽力使类的公共和保护接口最小化。 在开始编写类的代码之前应先定义该类的公共接口。 4.4.3字段 公共和保护的可见性应当尽量避免, 所有的字段都应置为私有, 由获取和设置成员函数 (存取函数)访问。 不允许“隐藏”字段,即给局部变量、参数或者字段所取的名

41、字,与另一个更大范围内 定义的变量、 参数或者字段的名字相同 (或相似) 。 例如, 如果把一个字段叫做 firstName , 就不要再生成一个局部变量或者参数叫做 firstName,或者任何类似的名字,如 firstNames 或 fistName。 一行代码只声明一个变量,仅将变量用于一件事。 4.4.4方法 良好的程序设计应该尽可能减小类与类之间耦合,所遵循的经验法则是: 尽量限制成员 函数的可见性。如果成员函数没必要公有 (public),就定义为保护 (protected);没必要保 护 (protected),就定义为私有 (private)。 4.5表达式和语句 1各功能块间

42、以空行相隔。 广东技术股份有限公司 33 2判断中如有常量,则应将常量置与判断式的右侧。如: 3if ( true = isAdmin(). 4尽量不使用三目条件判断。 5循环计数器如 i,j 等需在循环体前声明, 避免使用如 for( int i = 0; i = N; i+).等语句。 6循环跳转条件当注明清楚。 4.6错误处理和异常事件 通常的思想是只对错误采用异常处理:逻辑和编程错误,设置错误,被破坏的数据,资 源耗尽,等等。通常的法则是系统在正常状态下以及无重载和硬件失效状态下,不应 产生任何异常。 最小化从一个给定的抽象类中导出的异常的个数。 对于经常发生的可预计事件不要采用异常。 不使用异常实现控制结构。 确保状态码有一个正确值。 在本地进行安全性检查,而不是让用户去做。 4.7可移植性 为保证系统的跨平台性,不得使用任何某平台专有/用的资源、类库等。在代码级也必 须同时保证系统的可移植性。必须在 UNIX、WINDOWS 下都进行测试,并且保证处理结 果的一致性。 4.8复用 任何可复用的代码、资源等必须打成可重用包。 任何从外部源所购买/复用的 Java 类库或者包应是 100% 纯粹的 Java 语言, 以确保 所用的部件能在所有平台上工作。

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|