搜档网
当前位置:搜档网 › java开发规范文档

java开发规范文档

java开发规范文档
java开发规范文档

一千零一夜产品部系统开发规范V1.0

一千零一夜途遇科技有限公司

2015-11-03

修改记录

目录

1前言 (4)

2开发管理 (4)

3项目周期 (4)

4命名规范 (5)

4.1项目编号命名规范 (5)

4.2文档命名规范 (5)

4.3路径管理 (5)

4.4jsp/html命名规范 (6)

4.5数据库命名规范 (8)

4.5.1表名规范 (8)

4.5.2字段规范 (8)

5文档规范 (8)

6代码规范 (9)

6.1Java源代码规范 (9)

6.1.1命名 (9)

6.1.2代码格式 (11)

6.1.3注释 (12)

6.1.4其他 (13)

6.2jsp/html代码规范 (13)

6.3数据库开发规范 (15)

6.3.1主键 (15)

6.3.2日期类型 (16)

6.3.3固定字段 (16)

6.3.4取值规范 (16)

6.3.5数据库开发工具 (16)

6.3.6Sql书写规范 (17)

6.4其他规范 (17)

7实战代码规范 (18)

7.1Java源代码规范 (18)

7.1.1java代码命名与格式 (18)

7.2jsp/html代码规范 (26)

8FAQ (29)

8.1Logic类中新增数据方法怎么写 (29)

8.2Logic类中修改数据方法怎么写 (30)

8.3Logic类中删除数据方法怎么写 (31)

8.4怎样创建一个没有底部按钮的窗口 (32)

8.5怎样设置弹出窗口的标题 (32)

8.6怎样重写提交数据的方法 (33)

8.7怎样创建单grid的页面 (33)

8.8怎样多个页签的grid的页面 (34)

8.9怎样创建左边树右边grid的页面 (34)

9代码检查规定 (34)

10附录1:JPA使用指南javax.persistence的注解配置 (34)

1前言

为了使软件开发过程有章可循,保证软件质量,加强开发管理。2开发管理

3项目周期

公司项目开发周期分为以下几个步骤:

4命名规范

4.1 项目编号命名规范

4.2 文档命名规范

4.3 路径管理

路径结构如下:

项目名称

|_database(数据库数据)

|_docs(文档)

|_参考文档(项目参考文件)

|_需求&设计(需求文件及各种设计文档)

|_开发计划

|_软件测试

|_部署&培训

|_工作汇报

|_trunk(主目录)

|_WebRoot(应用文件)

|_src(源代码)

|_业务模块一(某一个功能分类,如工具类)

|_com.navinfo.分类英文名(源代码目录)

||_entity (数据模型)

|_logic (逻辑实现类)

|_services (逻辑接口层)

|_action (Action层)

|_utils(当前功能的工具类或常量定义)

|_

|_spring/ (spring的配置文件)

|_hibernate/ (hibernate的配置文件)

|_struts/ (struts的配置文件)

|_quartz/ (quartz的配置文件)

注,红色字体的部分和原有规范不同,主要是业务模块和配置文件放在同一个根目录下,为防止eclipse的配置顺序导致源代码和配置文件分离的很远。

|_业务模块二

|_......

示例:

图:Src路径

4.4 jsp/html命名规范

jsp与html文件名全部小写,并遵循如下的规范:

数据/内容显示页

名词,多个单词用下划线分隔,要求能说明显示内容的信息,为避免冲突,可加上"_list"。例如:

new_message.html 或my_file_list.jsp

操作处理页

命名格式:名词_下划线_动词,例如:file_delete.jsp。

图:Jsp命名

含frame页面

中的name属性命名的格式是①xxx._②xxx_③xxx

①xxx部分用来标识当前页面隶属于整个系统中的哪一功能模块。

如:属于ebwebmail则被表示为ebwebmail,其它情况依次类推。

②xxx部分标识当前页面所要完成的功能。

如:完成用户登录的功能则被标识为login,其它情况依次类推。

③xxx部分用来用来表示页面在浏览器窗口所处的位置。

处于浏览器窗口的顶部则标识为top,其它情况依次类推。

例如:ebwebmail_inbox_top.jsp

src属性相应的文件名根据情况建议在原命名规范上用下划线加上所处窗口的位置。

javascript脚本方法

脚本函数都以①xxx_②xxx的方式命名。

①xxx对应页面隶属的模块。

②xxx表示函数所要实现的功能(动宾结构),多个单词用下划线连接。

例如:ebwebmail_send_mail()

模块通用的脚本函数必须集合于一个js文件中,在页面上通过形式导入。js文件名命名使用模块名,例如:ebwebmail.js。

如果项目已经提供了公共js脚本,则优先使用公共js脚本中提供的函数。

所有定义方法的

注意:必须指定一个有意义的,严禁出现"Untitled"或"未命名"之类的<title>。</p><p>?2. 所有html标签使用小写</p><p>?3. html页面一般需要设置一个背景色(一般是#FFFFFF)。</p><!--/p14--><!--p15--><p>html语法校验</p><p>所有的jsp/html页面需要能够使用DreamWeaver正确打开(即html语法正确,没有错误的标记)。</p><p>注释</p><p>一般不使用html注释,除非是有必要让最终用户看到的内容。对于包含JSP 代码的html块,必须使用JSP注释。对于没有必要的注释,在发行版本中必须移除。</p><p>form属于域的maxlength</p><p>对于text类型的输入域,必须根据数据库字段的长度设置相应的maxlength,例如数据库类型是V ARCHAR(64),那么maxlength是32(因为中文浏览器对于中文也认为是一个字符)。</p><p>6.3 数据库开发规范</p><p>6.3.1主键</p><p>每个表都有一个自动增长键作为主键ID。同时,业务逻辑上,采用唯一主键做索引,我们可以采用UUID,或者订单号,作为逻辑主键。</p><p>以订单表为例:</p><p>BLL_ORDERS</p><p>ID</p><p>ORDER_NUM AMOUNT CREATE_TIME UPDATE_TIME ...LONG VARCHAR(30) NUMBER(8) LONG</p><p>LONG</p><p>ID为自动增长列作表的主键,ORDER_NUM或者UUID 实际订单的编号,设置为唯一键(或者不设也可以)。</p><p>这样做的好处是:加快JOIN查询的速度,因为,如果采用订单编号这一类型键值作为主键,它的类型多为字符型,如果多表JOIN会比,数值型慢很多。而且一般ORDER_NUM这类型的键值一般是通过逻辑生成,很难保证是绝对唯一的。</p><p>建立自增主键的方法:</p><p>https://www.sodocs.net/doc/1d7051459.html,/articles/misc/AutoNumber.php</p><p>关于UUID 和自增主键的功能分工问题:</p><p>为什么要加入UUID?主要是为了方便某些业务中防止对业务数据通过URL链接中直接传入可以进行标识的获取到不应该访问的内容。如果类似业务都需要通过权限控制实现对资源的占用过多。UUID是32位的,所以很难进行模拟。即UUID主要是通过链接访问的时候传入。系统通过一个getUuid 的方法获取到对象。</p><p>为什么需要同时具有UUID和ID?UUID具备防篡改的能力,但是过长</p><!--/p15--><!--p16--><p>同时不易读,在大数据量的存储的时候会导致空间的浪费。即在关联表或者外键中,都使用id进行关联。</p><p>ID和UUID都是能找到唯一一条记录的。因此,在数据存储层(data access layer)里,使用ID和UUID进行更新或删除操作,都可以,对数据安全没影响。</p><p>而在代码里,更新数据或删除数据的操作,采用自增ID,而数据显式传递是(如,通过URL传递参数时)采用UUID根据UUID,在数据库里把整个对象装载入实体类。</p><p>所以,Hibernate里的实体类,必要要有自增键的映射,而联合查询必须是通过自增键进行。</p><p>注:不是所有的表都需要具备UUID的,主要取决于被仿冒的程度,如用户、门店、商品等是需要UUID的,但是订单表只保留ID即可。</p><p>6.3.2日期类型</p><p>日期类型,统一采用文本格式的字符串,中间不加入任何连接符,在显示的时候再进行格式化转换。</p><p>6.3.3固定字段</p><p>每个表添加两个时间字段,CREATE_TIME,保存的是该条记录创建的时间,UPDATE_TIME,保存的是该条记录最后一次更新的时间。这个方便我做数据抽取。</p><p>每个表加入ISV ALID字段,用来表示该条记录是否的有效性。既是,我们业务系统的所用删除操作,都不是实际删除,只是一个标识。假如数据量增大很多后,才统一由DBA执行物理删除,而删除前可作一个备份,这样可以极大得减少因人为操作不当,而对系统数据造成的不必要损失。</p><p>6.3.4取值规范</p><p>当使用字符代表某个业务含义为bool型的字段时,使用1代表true的含义,使用0代表false的含义。即:isvalid标识有效性,为1代表有效,为0代表无效。</p><p>6.3.5数据库开发工具</p><p>数据库设计工具采用SysBase的PowerDesigner 15.1建的数据库设计图。由于此PD的版本在小版本上存在格式不兼容的可能。必须限定使用工具的大小版本均一致。</p><!--/p16--><!--p17--><p>6.3.6Sql书写规范</p><p>?select * 使用时要注意,不能滥用</p><p>?用like 语句要精确,尽量使用等着查询过滤重复</p><p>?少用in 语句(1.多用等值查询 2.多用exists语句)</p><p>?减少SQL查询嵌套</p><p>◆Java程序中尽量不要查一个结果集然后循环拼SQL再执行查询</p><p>◆较少SQL语句中的SQL子嵌套)</p><p>?多用exists少用in</p><p>?表查询建索引</p><p>但不要滥用建索引磁盘占用率大,建索引的规则是通过对实际业务查询要求分析而来的,而不是所有的表都需要加入。即查询条件中同时使用的等值查询部分作为索引的规则。</p><p>?查询要尽量使用分页查询</p><p>?预编译可适当使用别滥用,用多会导致游标数被占用完,同时不要for循环</p><p>中间使用预编译对象的声明(可以使用对象的创建)</p><p>6.4 其他规范</p><p>?对于IDE的使用</p><p>目前J2EE系统的开发使用Eclipse,但是最后提交的代码必须不依赖任何IDE,而需要可以使用ant完成所有的编译工作。一般提交的代码目录格式参照4.3</p><p>?限制session的使用</p><p>在代码中使用session需要听取项目经理的意见,项目经理需要在设计文档中登记项目中所有使用到的session的名字和作用。</p><p>?限制外部包的使用</p><p>开发员如果需要使用一个外部包需要听取项目经理的意见。在项目经理批准以前,严禁擅自使用一个外部的包。项目经理需要将依赖的外部包在文档中进行描述。</p><!--/p17--><!--p18--><p>7实战代码规范</p><p>7.1 Java源代码规范</p><p>7.1.1java代码命名与格式</p><p>7.1.1.1 P ackage 的命名</p><p>Package 的名字应该都是由一个小写单词组成,例如:com.navinfo. backplatform。</p><p>此外,对于包名我们做如下约定:</p><p>图:organization包结构</p><p>7.1.1.2 Entity类的命名与规范</p><p>实体类定义示例代码如下:</p><!--/p18--><!--p19--><p>说明:</p><p>1:实体类命名,表名+Entity。</p><p>2:实体类注解定义</p><p>@Entity</p><p>@Table(name=”实际表名”)</p><p>@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 3:实体类必须继承BaseForm</p><p>4:id字段的定义必须定义成id。</p><p>5:@Transient表示非数据库字段。</p><p>7.1.1.3 Logic类的命名与规范</p><p>Logic类的示例代码:</p><!--/p19--><!--p20--><p>说明:</p><p>1:所有logic的命名都是以Logic结尾。都要继承HibernateDao这个类。</p><p>2:在logic中都必须覆盖listPage这个类。</p><p>3:增,删,改已经在HibernateDao这个类实现了,如下:</p><!--/p20--><!--rset--><h2>JAVA代码规范</h2><p>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 拼音</p><h2>华为JAVA编程规范</h2><p>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(); }</p><h2>Java开发规范</h2><p>Java开发规范</p><p>目录 第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)</p><h2>华为Java语言编码规范标准</h2><p>Java语言编码规范 Prepared by 拟制Date 日期 yyyy-mm-dd Reviewed by 评审人Date 日期 yyyy-mm-dd Approved by 批准Date 日期 yyyy-mm-dd</p><p>Revision Record 修订记录</p><p>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)</p><p>1.范围 本规范规定了使用Java语言编程时排版、注释、命名、编码和JTEST的规则和建议。 本规范适用于使用Java语言编程的产品和项目。 2.规范性引用文件 下列文件中的条款通过本规范的引用而成为本规范的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本规范,然而,鼓励根据本规范达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本规范。 3.术语和定义 规则:编程时强制必须遵守的原则。 建议:编程时必须加以考虑的原则。 格式:对此规范格式的说明。 说明:对此规范或建议进行必要的解释。 示例:对此规范或建议从正、反两个方面给出例子。</p><h2>java编码规范考试题答案</h2><p>一、单选题 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</p><p>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方法,动作方法采用动词和动宾结构</p><h2>JAVA源代码规范</h2><p>JAVA代码规范 (初稿) 2004、4 ?版本更新信息 本版本创建/修改、维护、批准涉及人员如下: 创建/修改者:XX 维护者:XX 批准者:XX 具体版本更新记录如表1-1: 表1-1 版本更新记录 修改方式:A-增加 M-修改 D-删除?目得 本文提供一整套编写高效可靠得 Java 代码得标准、约定与指南。它们以安全可靠得软件工程原则为基础,使代码易于理解、维护与增强灵活性。通过遵循一套通用得程序设计标准,显著提高 Java 软件开发者得生产效率,为开发团队得程序设计带来更大得一致性,使软件开发团队得效率明显提高。 ?规范得执行 本文档适用于公司内进行软件开发得所有技术人员,即公司内软件开发人员编写得所有源代码都必须遵循本规范。 除临时性项目之外得任何项目均应严格按照此标准执行,“临时性项目”指:?为市场推广目得而编写得示程序 ?为一次性用途而编写得临时性小程序 为学习目得而编写得测试程序 ?文档类别</p><p>本文档属标准规范类得项目限制级文档,未经总经理及总经理授权人员批准,不得提供公司以外得人员阅读与使用。 ?版本更新条件 本文档得定期评审时间为每年得1月,评审及修订步骤依据SEPG工作规范规定。此外,如遇下列条件可进行评审,并根据评审结果决定就是否需要进行修订: ?本文档所列得引用得标准已经更新。 ?本文档得使用者若对本文档有任何评论、建议或意见,请通过企业内部网络发电子邮件给SEPG,所收到得电子邮件将会在评审与修订时给予充分 得考虑。 ?使用对象 本文档得使用对象包括: ?项目管理者 ?质量保证人员 ?软件开发人员 目录 1介绍 (4) 1、1为什么要有编码规范 (4) 2通用代码格式 (4) 2、1文件组织 (4) 2、2缩进 (5) 2、3行长度 (6) 2、4换行 (6) 2、5空行 (7) 2、6空格 (7) 2、7注释 (8) 2、7、1注释约定 (8) 2、7、2实现注释得格式 (9) 2、7、3文档注释 (10) 2、7、4快速浏览javadoc (10) 2、8声明 (11) 2、8、1每行声明变量得数量 (11) 2、8、2初始化 (11) 2、8、3布局 (11) 2、8、4类与接口得声明 (12) 2、9语句 (12) 2、9、1简单语句 (12) 2、9、2复合语句 (13) 2、9、3返回语句 (13) 2、9、4if,if-else,if else-if else语句 (13)</p><h2>(完整版)阿里巴巴编码规范(Java)题库</h2><p>多选 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 .可使用存储过程写分页逻辑,提高效率。</p><h2>Java代码编写规范(参考)</h2><p>命名规范: 1.所有的标识都只能使用ASCII字母(A-Z或a-z)、数字(0-9)和 下划线”_”。 2.一个唯一包名的前缀总是用全部小写的字母。 3.类名是一个名词,采用大小写混合的方式,每个单词的首字母大 写。 4.接口的大小写规则与类名相似。 5.方法名是一个动词或是动词词组,采用大小写混合的方式,第一 个单词的首字母小写,其后单词的首字母大写。 6.变量名的第一个字母小写,任何中间单词的首字母大写,变量名 应简短且可以顾名思义,易于记忆。避免单个字符的变量名,除非是一次性的临时变量。 7.常量的声明应该全部大写,每个单词之间用”_”连接。 注释规范: 1.注释尽可能使用”//”,对于所有的Javadoc的注释使用/***/,而 临时对代码块进行注释应尽量使用/**/。 2.所有的源文件都应该在开头有一个注释,其中列出文件名、日期 和类的功能概述。每个方法必须添加文档注释(main除外)。 3.每个属性必须加注释。 4.代码中至少包含15%的注释。 5.注释使用中文。</p><p>缩进排版规范: 1.避免一行的长度超过60个字符。 2.使用Eclipse源代码的格式化功能完成代码的缩进排版。 文件名规范: 1.一个Java源文件只能储存一个Java类。 2.文件名与Java类相同。 3.一个类文件不超过200行。 声明规范: 1.一行声明一个变量。 2.不要将不同类型变量的声明放在同一行。 3.只在代块的开始处声明变量。 4.所有的变量必须在声明时初始化。 5.避免声明的局部变量覆盖上一级声明的变量。 6.方法与方法直接以空行分隔。 语句规范: 1.每行至少包含一条简单语句。 2.在return语句中,返回值不使用小括号”()”括起来。 3.If月总是用{和}括起来。 4.在for语句的初始化或者更新子句中,避免因使用3个以上变量, 而导致复杂度提高。 5.当switch的一个case顺着往下执行时(因为没有break),通常 应在break语句的位置添加注释。</p><h2>华为JAVA编码规范</h2><p>1.程序块采用缩进风格,空格为4个. 说明: 对于开发工具自动生成的代码可以不一致 2.分界符(如大括号{和})应各自占一行并且在同一列,同时与引用它们的语句左 对齐,在方法的开始,类和接口的定义,以及if,for,do,while,switch,case语句都要采用上述缩进 说明: for(…) { …//your code } 3.较长(>80字符)的语句,表达式和参数要分多行,长表达式要在低优先级操作符 划分新行,操作符放在行首,新行要适当缩进,整齐,语句可读. 说明: if(filename != null && new File(logPath+filename).length() < logConfig.getFileSize()) { …//your code } 4.一行只写一条语句 说明: LogFilename wow = null; LogFilename that = null; 5.if,for,do,switch,while,case,default各占一行,它们的执行语句无论多少都要加{} 说明: if(writeToFile) { writeFileThread.interrupt(); } 6.相对独立的程序块,变量,说明要加空行 说明: if(log.getLevel() < log.getRecord()) { return ; } //空行</p><p>LogWrite writer; 7.对齐只用空格键,不用TAB键 说明: 以免使用不同的编辑器阅读程序时,因TAB键所设置的空格数不同而造成程序布局不整齐,JBuildr,UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开 8.两个以上的关键字,变量,常量进行对等操作时,操作符之前,之后或前后要加空 格,进行非对等操作时,如果是关系密切的立即操作符,后面不加空格(如.操作符) 说明: 采用这种松散方式编写代码目的是让程序更加清晰,由于空格所产生的清晰性是相对的,所以在已经很清晰的语句中没有必要留空格,如果语句已足够清晰,则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为java中括号已经是很清晰的标志了.在长句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部中不加空格,给操作符留空格时不要连续留两个以上空格 9.类属性和方法不要交叉放置,不同存取范围的属性和方法也不要交叉放置 说明: 类定义:{ 类公有属性定义; 类保护属性定义; 类私有属性定义; 类公有方法定义; 类保护方法定义; 类私有方法定义; } 10.源程序的有效注释量必须在30%以上 11.包的注释写入一个名为package.html的html格式的说明文件放入当前路径 12.包的注释内容:本包作用,详细描述本包内容,产品模块名称及版本,公司版本 说明: <html> <body> 一句话描述 详细描述 产品模块 <br>公司版本信息 </body> </html></p><h2>(完整word版)JAVA代码规范详细版</h2><p>JAVA代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。如果两边有冲突,以SUN 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。</p><h2>java代码规范要求(公司用-补充版)</h2><p>代码规范要求 为保证我公司研发代码的规范性、可读性,特制定该代码规范: 1、代码应遵循国际java代码规范 2、代码中所有switch(param){case int:break;}中case 参数应该为在类开始时定义的字符串,以增加后续研发中的可读性。例:private final int company=0; switch(param){case company:break;}不允许出现case0,case1等字样。 3、在对数据库进行大量数据读取时,应采用jdbc方式读取。以增快响应速度,减少内存消耗。数据量超过万单位时必须采用jdbc读取数据库,且应分页读取数据库。 4、方法作用必须注释,方法中传递的参数应该有注释,全局变量,局部变量都应有注释,以说明变量的意义。如方法会被多次调用,或应对二次开发则应注明返回值例:return Boolean true成功false失败; 5、代码中应该采用try catch捕获异常,且应该处理常见异常。 6、代码呈现页面不能出现null字样。 7、代码测试应用及所需捕获异常或输出信息应该采用log4j 进行输出。杜绝出现System.out.println();字样 8、代码不应出现重复定义,同一方法不能多次调用数据库,</p><p>如一个方法中需要多次调用数据库则应拆分为两个或多个。 9、同一方法中代码量超过50行则应进行拆分。 10、代码应该采用format格式化。 11、代码已经提交或二次开发时,应注明修改时间修改人修改原因修改后提交参数的内容 12、在未进行实例化的参数判断是否为空时,应该null在前例:if(null!=param) 13、在判断变量是否为空时,尽量避免采用if else应采用Parame==null?”0”:parame;进行判断赋值 14、代码应遵循可读性原则,不能出现过于冗长的代码。 15、多次在不同类中反复调用且内容相同的方法,应该写到公用代码中进行调用。 16、已经失效,且不会被调用的代码应该注销、删除。 17、代码在未经测试时,不要进行提交,以免造成现调用的其他类出现错误。 18、项目的配置文档应该遵循规范格式,尽量增加注释。 19、页面中的js脚本应该具备可读性、增加注释。Js脚本的规范遵从国际js规范。 20、页面中提交的必要的变量参数应该有验证。 21、页面提交的信息或执行时间较长、页面上传文档时应该提示用户正在执行等字样。 22、页面ext的方法复写定义应该在项目中为唯一,不得出</p><h2>java代码规范详细版</h2><p>Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改。本文档中没有说明的地方,请参看SUN Java标准代码规范。如果两边有冲突,以SUN 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 骆驼法则</p><h2>JAVA开发工作规范</h2><p>Java开发工作规范</p><p>目录 1文档介绍 (4) 1.1文档目的与背景 (4) 1.2文档范围 (4) 1.3参考文献 (4) 1.4术语与缩写解释 (4) 2命名及通用约定规范 (4) 2.1源文件结构规范 (4) 2.1.1Web项目主要目录结构 (4) 2.2J AV A包命名规范 (5) 2.2.1web层 (5) 2.2.2manager层 (6) 2.2.3dao层 (6) 2.2.4单元测试包 (7) 2.3J AV A类及接口命名规范 (7) 2.3.1web层 (7) 2.3.2manager层 (7) 2.3.3dao层 (8) 2.3.4单元测试类 (8) 2.4J AV A方法命名规范 (8) 2.4.1web层 (8) 2.4.2manager层 (9) 2.4.3dao层 (11) 2.4.4单元测试 (11) 2.5J AV A方法返回值规范 (11) 2.6J AV A变量命名规范 (12)</p><p>2.7J AV A常量命名规范 (12) 2.8URL映射注解规范 (12) 2.9JSP文件命名规范 (13) 2.9.1JSP文件夹 (13) 2.9.2JSP文件 (14) 3JAVA代码风格规范 (14) 3.1代码格式 (14) 3.2注释 (15) 3.2.1注释类型 (15) 3.2.2注释的格式 (17) 3.2.3注释的内容 (18) 3.3变量声明及初始化 (19) 3.3.1每行声明变量的数量 (19) 3.3.2初始化 (20) 3.4语句 (20) 3.4.1简单语句 (20) 3.4.2复合语句 (20) 3.4.3返回语句 (21) 3.4.4if,if-else,if else-if else语句 (21) 3.4.5for语句 (22) 3.4.6while语句 (22) 3.4.7do-while语句 (23) 3.4.8switch语句 (23) 3.4.9try-catch语句 (24) 3.5空白 (24) 3.5.1空行 (25) 3.5.2空格 (25) 4单元测试规范 (26)</p><h2>软件开发代码规范(Java)</h2><p>软件开发代码规范(C)(仅通普信息技术股份有限公司供内部使用) 黑龙江通普信息技术股份有限公司 版本历史</p><p>目录 第一章代码开发规范及其指南 (1) 1.1 目的 (1) 1.2 程序内命名规范 (1)</p><p>1.3 文件命名规范 (2) 1.4 J AVA文件样式 (2) 1.5 代码编写格式 (6) 第二章程序编写规范方法 (8) 2.1 权限修饰 (8) 2.2 其他规范 (8) 2.3 编程指南 (10) 第三章其他要求 (12)</p><p>第一章代码开发规范及其指南 1.1 目的 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性) 1.2 程序内命名规范 Package的命名:Package的名字应该都是由一个小写单词组成。 Class 的命名:Class 的名字必须由大写字母开头而其他字母都小写的单词组成Class变量的命名:变量的名字必须用一个小写字母开头。后面的单词用大写字母开头。 Static Final 变量的命名:Static Final 变量的名字应该都大写,并且指出完整含义。 参数的命名:参数的名字必须和变量的命名规范一致。 数组的命名:数组应该总是用下面的方式来命名:byte[] buffer; 而不是byte buffer[]; 方法的参数:使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字: SetCounter(int size){ this.size = size; }</p><p>1.3文件命名规范 文件名由英文单词组成,每个单词的首字母大写,不要超过4个单词, 如ShipOrder.jsp Java文件的文件名要与程序中的public类名相同。 Servet文件要以Servlet做为结尾,如AddCompanyServlet.java 业务处理组 件Java Bean要以Bean为结尾,如ProcessBean.java 1.4 Java文件样式 所有的Java(*java)文件都必须遵守如下的样式规则 头部 版权信息 版权信息必须在java文件的开头,比如: 其他不需要出现在javadoc的信息也可以包含在这里。 Package/lmports package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果import行中包含了同一个包中的不同子目 录,则应该用*来处理。 package hotlava .n et.stats; import java.io.*; import java.util.Observable; import hotlava.util.Applicati on;</p><h2>JAVA编码规范V10</h2><p>Java编码规范</p><p>目录 1 说明 (3) 1.1 版本说明 (3) 1.1.1 V1.0 (3) 1.2 文档阅读说明 (3) 2 项目规范 (3) 2.1 项目编码 (3) 3 JAVA规范 (3) 3.1 构建 (3) 3.2 代码架构 (4) 3.3 排版 (4) 3.4 注释 (5) 3.5 命名 (7) 3.6 编码 (9) 3.7 性能与可靠性 (14) 4 附录........................................................................................................... 错误!未定义书签。 4.1 代码管理规范............................................................................... 错误!未定义书签。 4.2 MyEclipse优化设置...................................................................... 错误!未定义书签。</p><p>1说明 1.1版本说明 1.1.1V1.0 初始版本,根据2013年公司J2EE版本规范修订而来。去除了JavaScript规范(该部分规划为未来单独整理);去除了代码评审相关评审表格(这部分该由项目管理流程提供);去除了项目目录规划部分的描述(该规划后续单独提供)。 1.2文档阅读说明 R:规则,必须遵守 S:建议,根据实际情况而定 2项目规范 2.1项目编码 项目编码统一使用utf-8进行编码,包括java、jsp、js、css、properties、xml等。 3JAVA规范 3.1构建 R1 Java项目均应采用maven进行项目构建,并能实现通过命令行自动构建。 说明:采用Maven或Gradle进行项目构建是Java项目开发工作自动化的常见选项。Gradle目前普及程度不及Maven。故此公司决定采用Maven作为项目构建的基础工具。未来推广自动构建、持续集成、代码自动审查等工作,均依赖于项目最基础的标准化工作。希望大家遵守。</p><h2>新版Java代码规范总结.pdf</h2><p>Java代码规范总结 作为一名合格的程序员,代码就是其战斗的武器,因此,武器的好坏,武器的品质,也一定程度上体现了程序员的 水平和影响对功能的实现,因此良好的代码的规范,在一定程度上,所表现的作用是很大的,应该引起广大程序员,尤 其是初级程序员的注意。因此,我总结了一下几点: 1.命名规范 1).所有的标示符只能用英文字母,数字,下划线 2).包名全小写 3).类名是一个名词,大小写混合,每个单词的首字母大写 4).接口的规则与类名相似 5).方法名第一个字母小写,中间单词的首字母大写,采用驼峰标识 6).变量名的规则与方法名相似 7).常量的声明是全部大写,每个单词之间用"_"连接 2.注释规范 注释有:单行注释"//", 多行注释"/*..*/", 文档注释"/**....*/" 1).注释尽可能使用“//”,对于所有的javadoc的注释则使用“ /**....*/ ",而临时对代码快进行注释尽量使用”/*...*/“。 2).所有的源文件都应该在开头有一个注释,其中列出文件名,日期和类的功能概述,有时还有作者 3).每个方法必须添加文档注释(类的main()方法除外),这样可以使其他人了解这个方法的功能 4).每个属性必须添加注释,让人知道这个属性的含义 5).代码中至少包含15%的注释 6).注释中英文都可 3.缩进排版规范 1).代码应避免一行长度超过60个字符 2).4个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格vs. 制表符)。一个制表符等于8个空格(而非4个)。 3). 换行(Wrapping Lines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之: a. 在一个逗号后面断开 b. 在一个操作符前面断开 c. 宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开 d. 新的一行应该与上一行同一级别表达式的开头处对齐 e. 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格 4).关键词和操作符之间加适当的空格 5).相对独立的程序块与块之间加空行 6).划分出的新行要进行适应的缩进,使排版整齐,语句可读. 7).循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。 .函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格 4.文件名规范</p><h2>java代码规范模板</h2><p>Info DMS java代码开发模板 作者:周清江 发布日期:2007-11-23 当前版本:0.1 上海英孚思为信息科技有限公司 修订历史纪录 代码开发环境修订Info DMS 英孚思为机密文件</p><p>代码开发环境修订Info DMS 英孚思为机密文件</p><p>代码开发环境修订 Info DMS 英孚思为机密文件 Java 开发模板文件导入 1. 导入统一的版权信息和类、方法、字段注释格式文件 第一步 打开 Preference,选中 code_style->>Code_Templates 第二步选择Import … 文件名:code_style_templates.xml</p><p>代码开发环境修订 Info DMS 英孚思为机密文件 2. 导入统一代码样式文件 第一步 打开 Preference,选中code_style->>Fromatter</p><p>代码开发环境修订 Info DMS 英孚思为机密文件 第二步选择Import … 文件名: code_style_formatter.xml</p><p>File Descript统一定义 导入统一的版权信息以后当新建每个JA V A以后,JA V A文件头内容统一为:/** *Copyright(c)2006-2008OEM Infoservice Corp.2006-2008,All Rights Reserved. *This software is published under the Infoservice DMS Service Inner Solution Team. *License version 1.0,a copy of which has been included with this *distribution in the LICENSE.txt file. * *@File name: https://www.sodocs.net/doc/1d7051459.html,base.actions.MaintainBrand.java *@Create on:2007-9-30 *@Author:kevin * *@ChangeList *--------------------------------------------------- *NO Date Editor ChangeReasons * 1.2007-9-30kevin Add * */ 注意: 1.如果文件不是新建而是从原来的项目中拷贝过来,请修改包名 和类名.(@File name:) https://www.sodocs.net/doc/1d7051459.html,base.actions.MaintainBrand.java 2.如果因为重要的业务逻辑而修改过文件,不要忘了在(@ChangeList)加上相关修改日期、修改人和简单描述修改原因。 Class Body( Action) 描述内容 在一些业务比较简单的Action文件中Class Body内容没有设置,这样生成的JA V ADOC文档中这些Action就很难读懂。对于业务相对简单的Action也需对该业务内容做简单的描述,如下: 代码开发环境修订Info DMS 英孚思为机密文件</p><h2>java编程规范第三版</h2><p>竭诚为您提供优质文档/双击可除java编程规范第三版 篇一:java编程的标准之jaVa编程规范 java编程的标准之jaVa编程规范简介 本文提供一整套编写高效可靠的java代码的标准、约定和指南。它们以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强。而且,通过遵循这些程序设计标准,你作为一个java软件开发者的生产效率会有显著提高。经验证明,若从一开始就花时间编写高质量的代码,则在软件开发阶段,对代码的修改要容易很多。最后,遵循一套通用的程序设计标准将带来更大的一致性,使软件开发团队的效率明显提高。 最根本的原则: 运用常识。当找不到任何规则或指导方针,当规则明显不能适用,当所有的方法都失效的时侯:运用常识并核实这些基本原则。这条规则比其它所有规则都重要。常识是必不可少的。 程序设计标准 java的程序设计标准很重要,原因在于它将提高开发团</p><p>队各成员的代码的一致性。一致性的提高会使代码更易理解,这意味着它更易开发和维护。从而降低了应用程序的总开发成本。 你必须牢记的是:你的java代码在你已离开并开始另 一个项目之后,会保留相当长的一端时间。因此开发过程中一个很重要的目标就是要确保在开发成员或开发团队之间 的工作可以顺利交接,不必花很大的力气便能理解已编写的代码,以便继续维护和改进以前的工作。如果代码难以理解,很有可能被废弃和重写。 命名约定 我们将在整个标准中讨论命名约定,所以让我们先讨论几个基本点: 1.使用可以准确说明变量/字段/类的完整的英文描述符。例如,采用类 似firstname,grandtotal或corporatecustomer这样的名字。虽 然象x1,y1或fn这样的名字很简短,输入起来容易,但是我们 难以知道它们代表什么、结果是什么含义,因而使代码难以理解、 维护和改进。 2.采用该领域的术语。如果用户称他们的“客户”</p><h2>JAVA最全的编码规范</h2><p>JAVA最全的编码规范 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu 等,全部都应小写(这也是Java 1.1和Java 1.2的区别之一)。 (2) 为了常规用途而创建一个类时,请采取"经典形式",并包含对下述元素的定义: equals() hashCode() toString() clone()(implement Cloneable) implement Serializable (3) 对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。为使用一个项目中的类,我们没必要删除测试代码。若进行了任何形式的改动,可方便地返回测试。这些代码也可作为如何使用类的一个示例使用。 (4) 应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将其分割成较短的几个方法。这样做也便于类内代码的重复使用(有些时候,方法必须非常大,但它们仍应只做同样的一件事情)。 (5) 设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。然后,再设身处地为管理代码的人考虑一下(预计有可能进行哪些形式的修改,想想用什么方法可把它们变得更简单)。 (6) 使类尽可能短小精悍,而且只解决一个特定的问题。下面是对类设计的一些建议: 一个复杂的开关语句:考虑采用"多形"机制</p> <div> <div>相关主题</div> <div class="relatedtopic"> <div id="tabs-section" class="tabs"> <ul class="tab-head"> <li id="22571504"><a href="/topic/22571504/" target="_blank">java代码规范</a></li> <li id="21323422"><a href="/topic/21323422/" target="_blank">java代码规范详细版</a></li> </ul> </div> </div> </div> </div> <div class="category"> <h2 class="navname">相关文档</h2> <ul class="lista"> <li><a href="/doc/8615737137.html" target="_blank">JAVA代码书写规范(高手必经之路)</a></li> <li><a href="/doc/d99318955.html" target="_blank">java代码规范DOC</a></li> <li><a href="/doc/0914435333.html" target="_blank">华为Java语言编码规范标准</a></li> <li><a href="/doc/4c5284891.html" target="_blank">java代码规范详细版</a></li> <li><a href="/doc/6114840310.html" target="_blank">java编码规范考试题答案</a></li> <li><a href="/doc/be7687715.html" target="_blank">Java代码规范</a></li> <li><a href="/doc/e717079678.html" target="_blank">java代码</a></li> <li><a href="/doc/234035653.html" target="_blank">华为JAVA编码规范</a></li> <li><a href="/doc/5e7496518.html" target="_blank">JAVA编码规范V10</a></li> <li><a href="/doc/7314301948.html" target="_blank">java编码规范v10</a></li> <li><a href="/doc/d64623685.html" target="_blank">Java语言编码规范</a></li> <li><a href="/doc/0d4345625.html" target="_blank">Java开发规范</a></li> <li><a href="/doc/396704599.html" target="_blank">Java代码规范详细版</a></li> <li><a href="/doc/6311922738.html" target="_blank">JAVA编码规范</a></li> <li><a href="/doc/a610965176.html" target="_blank">java编码规范考试题答案</a></li> <li><a href="/doc/e87704393.html" target="_blank">软件开发代码规范(Java)</a></li> <li><a href="/doc/1a10019064.html" target="_blank">(完整版)阿里巴巴编码规范(Java)题库</a></li> <li><a href="/doc/522529135.html" target="_blank">软件开发代码规范(Java)</a></li> <li><a href="/doc/7b8702003.html" target="_blank">java代码规范详细版</a></li> <li><a href="/doc/cc10817950.html" target="_blank">JAVA编码标准规范</a></li> </ul> <h2 class="navname">最新文档</h2> <ul class="lista"> <li><a href="/doc/0919509601.html" target="_blank">幼儿园小班科学《小动物过冬》PPT课件教案</a></li> <li><a href="/doc/0d19509602.html" target="_blank">2021年春新青岛版(五四制)科学四年级下册 20.《露和霜》教学课件</a></li> <li><a href="/doc/9419184372.html" target="_blank">自然教育课件</a></li> <li><a href="/doc/3c19258759.html" target="_blank">小学语文优质课火烧云教材分析及课件</a></li> <li><a href="/doc/d619211938.html" target="_blank">(超详)高中语文知识点归纳汇总</a></li> <li><a href="/doc/a219240639.html" target="_blank">高中语文基础知识点总结(5篇)</a></li> <li><a href="/doc/9e19184371.html" target="_blank">高中语文基础知识点总结(最新)</a></li> <li><a href="/doc/8f19195909.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/8619195910.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/7819336998.html" target="_blank">高中语文基础知识点总结大全</a></li> <li><a href="/doc/7b19336999.html" target="_blank">超详细的高中语文知识点归纳</a></li> <li><a href="/doc/6a19035160.html" target="_blank">高考语文知识点总结高中</a></li> <li><a href="/doc/6719035161.html" target="_blank">高中语文知识点总结归纳</a></li> <li><a href="/doc/4b19232289.html" target="_blank">高中语文知识点整理总结</a></li> <li><a href="/doc/3d19258758.html" target="_blank">高中语文知识点归纳</a></li> <li><a href="/doc/2919396978.html" target="_blank">高中语文知识点归纳(大全)</a></li> <li><a href="/doc/2819396979.html" target="_blank">高中语文知识点总结归纳(汇总8篇)</a></li> <li><a href="/doc/1219338136.html" target="_blank">高中语文基础知识点整理</a></li> <li><a href="/doc/e819066069.html" target="_blank">化工厂应急预案</a></li> <li><a href="/doc/b819159069.html" target="_blank">化工消防应急预案(精选8篇)</a></li> </ul> </div> </div> <script> var sdocid = "15cfa1ad31126edb6e1a1063"; </script> <div class="footer"> <p>© 2013-2022 www.sodocs.net  <a href="/sitemap.html">站点地图</a> | <a href="/tousu.html" target="_blank">侵权投诉</a></p> <p><a href="https://beian.miit.gov.cn/">闽ICP备11023808号-8</a>  本站资源均为网友上传分享,本站仅负责收集和整理,有任何问题请在对应网页下方投诉通道反馈<script type="text/javascript">tj();</script></p> </div> </div> </body> </html>