JAVA代码书写规范
- 格式:pdf
- 大小:246.90 KB
- 文档页数:5
软件代码编程规范软件代码编程规范编号:发布日期:编制部门:研发部审核人:批准人:目录0.版本记录 (5)1.目的 (6)2.适用范围 (6)3.术语定义 (6)3.1 原则 (6)3.2 规则 (6)3.3 建议 (6)3.4 说明 (6)3.5 正例 (6)3.6 反例 (7)4.职责 (7)5.工作程序 (7)5.1 基本原则 (7)5.1.1 原则1-1 (7)5.1.2 原则1-2 (7)5.1.3 原则1-3 (7)5.1.4 原则1-4 (7)5.1.5 原则1-5 (7)5.1.6 原则1-6 (8)5.1.7 原则1-7 (8)5.2 布局 (8)5.2.1 基本格式 (8)5.2.2 对齐 (10)5.2.3 空行空格 (12)5.2.4 断行 (14)5.3 注释 (15)5.3.1 规则3-1 (15)5.3.3 规则3-3 (16)5.3.4 规则3-4 (16)5.3.5 规则3-5 (17)5.3.6 规则3-6 (17)5.3.7 规则3-7 (18)5.3.8 规则3-8 (18)5.3.9 规则3-9 (19)5.3.10 规则3-10 (20)5.3.11 建议3-1 (20)5.3.12 建议3-2 (20)5.4 命名规则 (20)5.4.1 规则4-1 (21)5.4.2 规则4-2 (21)5.4.3 规则4-3 (21)5.4.4 规则4-4 (23)5.4.5 规则4-5 (23)5.4.6 规则4-6 (23)5.4.7 规则4-7 (23)5.4.8 规则4-8 (23)5.4.9 规则4-9 (24)5.4.10 规则4-10 (24)5.4.11 规则4-11 (25)5.4.12 规则4-12 (25)5.4.13 规则4-13 (25)5.4.14 规则4-14 (25)5.4.15 规则4-15 (26)5.4.16 规则4-16 (26)5.4.17 规则4-17 (26)5.4.19 规则4-19 (27)5.4.20 建议4-1 (27)5.4.21 建议4-2 (27)5.5 声明 (27)5.5.1 规则5-1 (27)5.5.2 规则5-2 (27)5.5.3 建议5-1 (27)5.6 表达式与语句 (28)5.6.1 规则6-1 (28)5.6.2 规则6-2 (29)5.6.3 规则6-3 (29)5.6.4 规则6-4 (29)5.6.5 规则6-5 (30)5.6.6 规则6-6 (30)5.6.7 建议6-1 (30)5.6.8 建议6-2 (30)5.6.9 建议6-3 (31)5.6.10 建议6-4 (31)5.6.11 建议6-5 (32)5.7 类和接口 (33)5.7.1 规则7-1 (33)5.7.2 建议7-1 (34)5.7.3 建议7-2 (34)5.7.4 建议7-3 (34)5.7.5 建议7-4 (34)5.7.6 建议7-5 (35)5.7.7 建议7-6 (35)6.相关文件 (35)0.版本记录以C#代码为例,规范编码规则和注意事项,明确编程的各项要求,提高代码的可靠性、可读性、可修改性、可维护性、一致性、可再利用性等。
javadoc做注释一. Java 文档// 注释一行注释若干行注释若干行,并写入javadoc 文档通常这种注释的多行写法如下:javadoc -d 文档存放目录-author -version 源文件名.java这条命令编译一个名为“源文件名.java”的java 源文件,并将生成的文档存放在“文档存放目录”指定的目录下,生成的文档中index.html 就是文档的首页。
-author 和-version 两个选项可以省略。
二. 文档注释的格式1. 文档和文档注释的格式化生成的文档是HTML 格式,而这些HTML 格式的标识符并不是javadoc 加的,而是我们在写注释的时候写上去的。
比如,需要换行时,不是敲入一个回车符,而是写入<br>,如果要分段,就应该在段前写入<p>。
文档注释的正文并不是直接复制到输出文件(文档的HTML 文件),而是读取每一行后,删掉前导的* 号及* 号以前的空格,再输入到文档的。
如2. 文档注释的三部分先举例如下public void show(boolean b) {frame.show(b);}第一部分是简述。
文档中,对于属性和方法都是先有一个列表,然后才在后面一个一个的详细的说明简述部分写在一段文档注释的最前面,第一个点号(.) 之前(包括点号)。
换句话说,就是用第一个点号分隔文档注释,之前是简述,之后是第二部分和第三部分。
第二部分是详细说明部分。
该部分对属性或者方法进行详细的说明,在格式上没有什么特殊的要求,可以包含若干个点号。
* show 方法的简述.* <p>show 方法的详细说明第一行<br>* show 方法的详细说明第二行简述也在其中。
这一点要记住了第三部分是特殊说明部分。
这部分包括版本说明、参数说明、返回值说明等。
* @param b true 表示显示,false 表示隐藏* @return 没有返回值三. 使用javadoc 标记javadoc 标记由“@”及其后所跟的标记类型和专用注释引用组成javadoc 标记有如下一些:@author 标明开发该类模块的作者@version 标明该类模块的版本@see 参考转向,也就是相关主题@param 对方法中某参数的说明@return 对方法返回值的说明@exception 对方法可能抛出的异常进行说明@author 作者名@version 版本号其中,@author 可以多次使用,以指明多个作者,生成的文档中每个作者之间使用逗号(,) 隔开。
密级:秘密文件编号:D05-PDS072Java 编码规范版本:0.0.0-1.0.02004-8-20沈阳东软软件股份有限公司 软件开发事业部(版权所有,翻版必究)文件修改控制修改编号版本修改条款及内容修改日期目 录1 引言 (5)1.1简介 51.2目的 51.3参考资料: (5)2 源程序 (6)2.1 源程序命名 (6)2.2 供发布的文件 (6)2.3 源文件的组织 (6)2.3.1 版本信息和版权声明 (6)2.3.2 包的声明 (7)2.3.3 引用声明 (7)2.3.4 类或者接口的声明 (7)3 命名规范 (7)3.1 包的命名 (7)3.2 类和接口的命名 (7)3.2.1 类的命名 (8)3.2.2 接口的命名 (8)3.3 变量命名 (8)3.4 常量命名 (8)3.5 方法命名 (8)3.6 标签命名 (9)4 空白的使用 (10)4.1 空行 (10)4.2 空格 (11)4.3 缩进 (11)4.4 行的延续 (11)5 注释 (12)5.1 版权信息注释 (12)5.2 类注释 (12)5.3 成员注释 (14)5.4 方法注释 (14)5.5 内部类的注释 (15)5.6 其它的注释: (16)5.6.1 代码修改的注释 (16)5.6.2 冗余代码的注释 (16)5.6.3 类体外的注释 (16)6 类 (16)6.1 类的定义 (17)6.2 类的成员变量(字段/属性) (17)6.3 类成员变量(字段/属性)的存取方法 (17)6.4 构造函数 (17)6.5 类方法(静态方法) (18)6.6 实例方法 (18)6.7 MAIN 方法 (18)7 接口 (19)7.1 接口体的组织 (19)8 语句 (19)8.1 简单语句 (19)8.1.1 赋值和表达式 (19)8.1.2 本地变量声明 (19)8.1.3 数组的声明 (20)8.1.4 return语句 (20)8.2 复合语句 (20)8.2.1 括号的格式 (20)8.2.2 IF语句 (21)8.2.3 FOR语句 (21)8.2.4 WHILE语句 (21)8.2.5 DO-WHILE语句 (21)8.2.6 switch语句 (21)8.2.7 try语句 (22)8.2.8 synchronized语句 (22)8.3 标签语句 (22)9 性能优化常识 (23)9.1 前提 (23)9.2 运算时间 (23)9.3 NG.S TRING (23)9.4 JAVA.UTIL.V ECTOR (24)9.5 线程 (25)9.5.1 防止过多的同步 (25)9.5.2 避免同步整个代码段 (25)9.5.3 对每个对象使用多“锁”的机制来增大并发 (25)9.6 循环 (26)9.6.1 边界 (26)9.6.2 循环体内避免构建新对象 (26)9.6.3 break (26)10 日志(LOG) (26)11 其它 (27)11.1 EXIT() (27)11.2 异常 (27)11.3 类名的唯一性 (27)1引言1.1 简介所有的程序开发手册都包含了各种规则。
JAVA编程规范1.1 Java文件名与文件组织结构1.一个java源文件不应该超过2 000行。
2.在Java源文件中应该包含一个单一的公共类(class)或接口(interface),这个公共类或公共接口,应该是这个源文件的第一个类或接口。
3.一个Java源文件一般由下面的顺序构成:(1)文件注释头(2)包名(package)(3)引入(import)声明(4)类(class)或接口(interface)的声明部分1.2 Java文件注释头Java类文件注释头是用来描述该类功能及其特点,以及相关开发信息的,如该类的关联类(通常情况下不描述Java系统核心类如java.util.Vector, ng.Thread等)、开发公司或单位、版权、作者、代码审定人该类所支持的JDK版本、该类版本、开发日期、最后更改日期、修改人、复审人等信息,下面就是一个Java类文件注释头:/****************************************************************** 该类功能及其特点的描述(例如:该类是用来……)** 该类未被编译测试过。
** @see(与该类相关联的类):(AnatherClass.java)*** 开发公司或单位:××软件有限公司研发中心** 版权:本文件版权归属××公司研发中心*** @author(作者):必胜利** @since(该文件所支持的JDK版本):Jdk1.3 或JDK1.42.在重点同时难以理解的地方另加注释。
方法体内的注释应该与其所描述的代码位于同一个层次上。
在一个块注释之前一般有一空白行用于做区分代码与注释的边界。
1.7 变量的声明初始化与放置1.7.1 变量声明1.在一般情况下我们建议每一行代码,只声明一个变量;2.如果变量名称较短并且又是同一数据类型同一结构类型,并且没有给变量初始化则可以在同一行声明;1.7.2 变量初始化尽量在变量声明的地方初始化,如果变量的初始化与有待于计算或处理后的值有关,则我们可以在取得这个值后对变量做初始化。
Java语言编程规范(华为公司)DKBA华为技术有限公司企业技术规范DKBAXXXX-2001.12代替(DKBA200106-003)Java语言编程规范2001-12-XX发布2001-12-XX实施华为技术有限公司发布VVVVVVV VVVVVVVVVVVX。
XVX.X VX.X VX.X VX.XVX.X 目次前言 .............................................................................. .. (3)1 范围112 规范性引用文件113 术语和定义114 排版规范124.1 规则121.*程序块要采用缩进风格编写,缩进12的空格数为4个。
122.*分界符(如大括号‘{’和‘}’)应各独占一行并且位于同一列,同时与引用它们的语句左对齐。
在函数体的开始、类和接口的定义、以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
133.*较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读。
134.*不允许把多个短语句写在一行中,即一行只写一条语句5.*if, for, do, while, case,13switch, default 等语句自占一行,且if, for, do, while等语句的执行语句无论多少都要加括号{}。
6.*相对独立的程序块之间、变量说明13之后必须加空行。
7.*对齐只使用空格键,不使用TAB键。
14VVVVVVV VVVVVVVVVVVX。
XVX.X VX.X VX.X VX.XVX.X 8.*在两个以上的关键字、变量、常量14进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格。
竭诚为您提供优质文档/双击可除java,接口,命名规范篇一:java开发命名规范作者:字体:[增加减小]类型:转载时间:20xx-10-24我要评论包名的书写规范(package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性。
包名全部为小写字母,且具有实际的区分意义使用前注意事项:1、由于java面向对象编程的特性,在命名时应尽量选择名词2、驼峰命名法(camel-case):当变量名或函式名是由一个或多个单字连结在一起,而构成的唯一识别字时,首字母以小写开头,每个单词首字母大写(第一个单词除外)。
如:myFirstname一包名的书写规范(package)推荐使用公司或机构的顶级域名为包名的前缀,目的是保证各公司/机构内所使用的包名的唯一性。
包名全部为小写字母,且具有实际的区分意义。
1.1一般要求1、选择有意义的名字,能快速地传达该类的用途。
2、所有包的命名必须采用小写英文字母。
1.2实际应用应用系统中经常应用分层,dao层(数据库访问)、service层(业务处理)、web层(页面控制action类)。
1、包名的前几个为固定名称,如果是网站的话,采用网站的域名的反写,如果域名还没有确定的话,采用公司固定的几个名称。
如:net.vschool2、在包名的接下来一个单词为模块的名称。
如:用户模块,包名为er3、关于模块的访问操作,采用分层形式,一般分为:dao层操作:一般定义在net.vschool.xxx.dao中,其中xxx为模块名称。
service层操作:一般定义在net.vschool.xxx.servie 中。
web层操作:一般定义在net.vschool.xxx.action中。
如下关于用户模块的例子:erer.daoer.actioner.service二类名的书写规范(class)类名必须使用名词,如果一个类名内含多个单词,那么各个单词第一个字母大写,后续字母小写,起伏呈驼峰状,人称驼峰式命名。
java代码注释规范展开全文一、规范存在的意义应用编码规范对于软件本身和软件开发人员而言尤为重要,有以下几个原因:1、好的编码规范可以尽可能的减少一个软件的维护成本, 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护;2、好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码;3、好的编码规范可以最大限度的提高团队开发的合作效率;4、长期的规范性编码还可以让开发人员养成好的编码习惯,甚至锻炼出更加严谨的思维;二、命名规范1、一般概念1、尽量使用完整的英文描述符2、采用适用于相关领域的术语3、采用大小写混合使名字可读4、尽量少用缩写,但如果用了,必须符合整个工程中的统一定义5、避免使用长的名字(小于 15 个字母为正常选择)6、避免使用类似的名字,或者仅仅是大小写不同的名字7、避免使用下划线(除静态常量等)2、标识符类型说明1、包( Package )的命名Package 的名字应该采用完整的英文描述符,都是由一个小写单词组成。
并且包名的前缀总是一个顶级域名,通常是 com、edu、gov、mil、net、org 等;如: com.yjhmily.test2、类( Class )的命名类名应该是个一名词,采用大小写混合的方式,每个单词的首字母大写。
尽量保证类名简洁而富于描述。
使用完整单词,避免缩写词( 除非工程内有统一缩写规范或该缩写词被更广泛使用,像 URL , HTML)如: FileDescription3、接口( Interface )的命名基本与 Class 的命名规范类似。
在满足 Classd 命名规则的基础之上,保证开头第一个字母为”I”,便于与普通的 Class区别开。
其实现类名称取接口名的第二个字母到最后,且满足类名的命名规范;如: IMenuEngine4、枚举( Enum )的命名基本与 Class 的命名规范类似。
在满足 Classd 命名规则的基础之上,保证开头第一个字母为”E” ,便于与普通的 Class区别开。
SOAR项目Java开发规范1. 引言 (2)2.文件 (2)3.命名规则 (3)3.1基本的规则 (3)3.2常量命名 (3)3.3变量命名 (3)3.4方法命名 (5)3.5类和接口的命名 (5)3.6包的命名 (6)4.注释规范 (6)4.1 基本规则 (6)4.2 Java中有三种注释方式说明 (6)4.2.1文档注释/** */ (6)4.2.2行注释// (7)4.2.3块注释:/* */ (7)4.3类/接口注释 (7)4.4 变量注释 (8)4.5 方法注释 (9)4.6 修改记录 (10)5.编码规范 (10)5.1基本原则 (10)5.2类编写规范 (14)5.3变量 (14)5.4方法 (15)5.5 语言使用及书写规范 (16)1. 引言软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在一个小组中采用统一的软件开发标准。
一般来说,制定这样的标准有下列好处:方便软件维护。
据统计,80%的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。
在软件的整个生命期内,期望一个编码人员从开始到该软件报废一致维护其代码是不现实的,必然需要不断地交付、协同好的编码规范能够大大增强代码的可读性,便于开发人员快速的理解新代码。
任何产品都需要好的包装。
我们可以把代码本身看作是一种产品,那么按照规范编程也是对这个“产品”的包装规范化的代码也是软件质量的保证手段之一,也是软件过程能够流畅的基础。
我们每个人必须牢牢树立这样的观念:你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。
所以,我们必须努力写出“干净”和易读的代码。
本文档适用于软件开发过程中开发人员,主要包括编码人员、测试人员,开发人员,规范必须严格遵守,否则程序被视为不合格程序。
注:本规范中标红的内容为强制性遵循内容,开发人员必须遵守。
蓝色为强烈建议性内容,最好遵守,这样可以避免程序出现一些莫名奇妙的问题。
java代码方法书写顺序Java代码的方法书写顺序在代码的可读性和可维护性方面起着重要的作用。
良好的方法书写顺序可以使代码结构清晰,方便他人理解和修改。
本文将介绍一种常见的Java代码方法书写顺序,以帮助开发者编写更好的Java代码。
在Java代码中,可以按照以下的顺序书写方法:1. 类变量声明:首先声明类的静态变量(即使用static关键字修饰的变量),它们在整个类中都是可见的。
这些变量通常用来保存与该类相关的一般配置或共享数据。
2. 实例变量声明:接下来声明类的实例变量(即没有使用static关键字修饰的变量)。
这些变量通常用来保存每个对象的状态信息。
3. 构造方法:在声明变量后,编写类的构造方法。
构造方法在创建对象时被调用,用于初始化实例变量。
4. 公共方法:在构造方法之后,编写类的公共方法。
公共方法通常是供其他类调用的方法,因此应该放在较前的位置,方便其他程序员使用和查找。
5. 私有方法:在公共方法之后,编写类的私有方法。
私有方法通常是供类内部调用,用于实现一些具体的功能。
6. Getter和Setter方法:在私有方法之后,编写实例变量的Getter和Setter方法。
这些方法用于获取和设置实例变量的值,保证了封装性。
7. 静态方法:最后,编写类的静态方法。
静态方法是用于整个类的操作,不依赖于任何特定的实例。
按照这个顺序编写代码可以使类的结构和功能更加清晰,易于阅读和维护。
此外,还可以根据需要对方法进行分组,在每个分组内按照上述顺序进行排序。
除了方法的书写顺序,还应注意以下几点:1. 使用空行分隔不同类型的方法:为了提高代码的可读性,可以在不同类型的方法(类方法、实例方法、私有方法)之间添加空行。
2. 使用适当的注释:在每个方法之前,使用注释来解释方法的功能、参数、返回值等。
这样可以使其他程序员更容易理解代码的意图和用法。
3. 遵循命名规范:采用有意义的方法名,并遵循Java的命名规范。
一、目的对于代码,首要要求是它必须正确,能够按照程序员的真实思想去运行;第二个的要求是代码必须清晰易懂,使别的程序员能够容易理解代码所进行的实际工作。
在软件工程领域,源程序的风格统一标志着可维护性、可读性,是软件项目的一个重要组成部分。
而目前还没有成文的编码风格文档,以致于很多时候,程序员没有一个共同的标准可以遵守,编码风格各异,程序可维护性差、可读性也很差。
通过建立代码编写规范,形成开发小组编码约定,提高程序的可靠性、可读性、可修改性、可维护性、可继承性和一致性,可以保证程序代码的质量,继承软件开发成果,充分利用资源,使开发人员之间的工作成果可以共享。
本文在参考业界已有的编码风格的基础上,描述了一个基于JBuilder 的项目风格,力求一种统一的编程风格,并从整体编码风格、代码文件风格、函数编写风格、变量风格、注释风格等几个方面进行阐述。
(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)二、整体编码风格1、缩进缩进建议以4个空格为单位。
建议在Tools/Editor Options 中设置Editor 页面的Block ident为4,Tab Size 为8。
预处理语句、全局数据、标题、附加说明、函数说明、标号等均顶格书写。
语句块的"{"、"}"配对对齐,并与其前一行对齐,语句块类的语句缩进建议每个"{"、"}"单独占一行,便于匹对。
JBuilder 中的默认方式是开始的"{"不是单独一行,建议更改成上述格式(在Project/Default Project Properties 中设置Code Style 中选择Braces 为Next line)。
2、空格原则上变量、类、常量数据和函数在其类型,修饰名称之间适当空格并据情况对齐。
关键字原则上空一格,如:if ( ... ) 等。
运算符的空格规定如下:"::"、"->"、"["、"]"、"++"、"--"、"~"、"!"、"+"、"-"(指正负号)、"&"(引用)等几个运算符两边不加空格(其中单目运算符系指与操作数相连的一边),其它运算符(包括大多数二目运算符和三目运算符"?:"两边均加一空格,在作函数定义时还可据情况多空或不空格来对齐,但在函数实现时可以不用。
","运算符只在其后空一格,需对齐时也可不空或多空格。
不论是否有括号,对语句行后加的注释应用适当空格与语句隔开并尽可能对齐。
个人认为此项可以依照个人习惯决定遵循与否。
3、对齐原则上关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。
另每一行的长度不应超过屏幕太多,必要时适当换行,换行时尽可能在","处或运算符处,换行后最好以运算符打头,并且以下各行均以该语句首行缩进,但该语句仍以首行的缩进为准,即如其下一行为“{”应与首行对齐。
变量定义最好通过添加空格形成对齐,同一类型的变量最好放在一起。
如下例所示:int Value;int Result;int Length;Object currentEntry; 个人认为此项可以依照个人习惯决定遵循与否。
4、空行不得存在无规则的空行,比如说连续十个空行。
程序文件结构各部分之间空两行,若不必要也可只空一行,各函数实现之间一般空两行,由于每个函数还要有函数说明注释,故通常只需空一行或不空,但对于没有函数说明的情况至少应再空一行。
对自己写的函数,建议也加上“//------”做分隔。
函数内部数据与代码之间应空至少一行,代码中适当处应以空行空开,建议在代码中出现变量声明时,在其前空一行。
类中四个“p”之间至少空一行,在其中的数据与函数之间也应空行。
5、注释注释是软件可读性的具体体现。
程序注释量一般占程序编码量的20%,软件工程要求不少于20%。
程序注释不能用抽象的语言,类似于"处理"、"循环"这样的计算机抽象语言,要精确表达出程序的处理说明。
例如:"计算净需求"、"计算第一道工序的加工工时"等。
避免每行程序都使用注释,可以在一段程序的前面加一段注释,具有明确的处理逻辑。
注释必不可少,但也不应过多,不要被动的为写注释而写注释。
以下是四种必要的注释:A. 标题、附加说明。
B. 函数、类等的说明。
对几乎每个函数都应有适当的说明,通常加在函数实现之前,在没有函数实现部分的情况下则加在函数原型前,其内容主要是函数的功能、目的、算法等说明,参数说明、返回值说明等,必要时还要有一些如特别的软硬件要求等说明。
公用函数、公用类的声明必须由注解说明其使用方法和设计思路,当然选择恰当的命名格式能够帮助你把事情解释得更清楚。
C. 在代码不明晰或不可移植处必须有一定的说明。
D. 及少量的其它注释,如自定义变量的注释、代码书写时间等。
注释有块注释和行注释两种,分别是指:"/**/"和"//"建议对A用块注释,D用行注释,B、C则视情况而定,但应统一,至少在一个单元中B类注释形式应统一。
具体对不同文件、结构的注释会在后面详细说明。
6、代码长度对于每一个函数建议尽可能控制其代码长度为53行左右,超过53行的代码要重新考虑将其拆分为两个或两个以上的函数。
函数拆分规则应该一不破坏原有算法为基础,同时拆分出来的部分应该是可以重复利用的。
对于在多个模块或者窗体中都要用到的重复性代码,完全可以将起独立成为一个具备公用性质的函数,放置于一个公用模块中。
7、页宽页宽应该设置为80字符。
源代码一般不会超过这个宽度, 并导致无法完整显示, 但这一设置也可以灵活调整. 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进2个字符. 8、行数一般的集成编程环境下,每屏大概只能显示不超过50行的程序,所以这个函数大概要5-6屏显示,在某些环境下要8屏左右才能显示完。
这样一来,无论是读程序还是修改程序,都会有困难。
因此建议把完成比较独立功能的程序块抽出,单独成为一个函数。
把完成相同或相近功能的程序块抽出,独立为一个子函数。
可以发现,越是上层的函数越简单,就是调用几个子函数,越是底层的函数完成的越是具体的工作。
这是好程序的一个标志。
这样,我们就可以在较上层函数里容易控制整个程序的逻辑,而在底层的函数里专注于某方面的功能的实现了。
三、代码文件风格所有的Java(*.java) 文件都必须遵守如下的样式规则:. 文件生成对于规范的JA VA 派生类,尽量用JBuilder 的Object Gallery 工具来生成文件格式,避免用手工制作的头文件/实现文件。
. package/import package 行要在import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。
如果import 行中包含了同一个包中的不同子目录,则应该用* 来处理。
package .stats; import java.io.*;import java.util.Observable;import hotlava.util.Application;这里java.io.* 使用来代替InputStream and OutputStream 的。
. 文件头部注释文件头部注释主要是表明该文件的一些信息,是程序的总体说明,可以增强程序的可读性和可维护性。
文件头部注释一般位于package/imports 语句之后,Class 描述之前。
要求至少写出文件名、创建者、创建时间和内容描述。
JBuilder 的Object Gallery 工具生成的代码中会在类、工程文件中等自动添加注释,我们也要添加一些注释,其格式应该尽量约束如下:/*** Title: 确定鼠标位置类* Description: 确定鼠标当前在哪个作业栏位中并返回作业号* @Copyright: Copyright (c) 2002* @Company: HIT* @author: rivershan* @version: 1.0* @time: 2002.10.30*/. Class 接下来的是类的注释,一般是用来解释类的。
/*** A class representing a set of packet and byte counters* It is observable to allow it to be watched, but only* reports changes when the current set is complete*/接下来是类定义,包含了在不同的行的extends 和implements public class CounterSetextends Observableimplements Cloneable .Class Fields 接下来是类的成员变量:/*** Packet counters*/protected int[] packets;public 的成员变量必须生成文档(JavaDoc)。
proceted、private和package 定义的成员变量如果名字含义明确的话,可以没有注释。
. 存取方法接下来是类变量的存取的方法。
它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。
(个人认为尽量分行写)/*** Get the counters* @return an array containing the statistical data. This array has been* freshly allocated and can be modified by the caller.*/public int[] getPackets(){return copyArray(packets, offset);} public int[] getBytes(){return copyArray(bytes, offset);} public int[] getPackets(){return packets;} public void setPackets(int[] packets){this.packets = packets;}其它的方法不要写在一行上. 构造函数接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。