软件开发代码规范(Java)
java代码规范(九)前后端规约

java代码规范(九)前后端规约1. 【强制】前后端交互的 API,需要明确协议、域名、路径、请求⽅法、请求内容、状态码、响应体。
说明: 1)协议:⽣产环境必须使⽤ HTTPS。
2)路径:每⼀个 API 需对应⼀个路径,表⽰ API 具体的请求地址:a)代表⼀种资源,只能为名词,推荐使⽤复数,不能为动词,请求⽅法已经表达动作意义。
b) URL 路径不能使⽤⼤写,单词如果需要分隔,统⼀使⽤下划线。
c)路径禁⽌携带表⽰请求内容类型的后缀,⽐如".json",".xml",通过 accept 头表达即可。
3)请求⽅法:对具体操作的定义,常见的请求⽅法如下:a) GET:从服务器取出资源。
b) POST:在服务器新建⼀个资源。
c) PUT:在服务器更新资源。
d) DELETE:从服务器删除资源。
4)请求内容:URL 带的参数必须⽆敏感信息或符合安全要求;body ⾥带参数时必须设置 Content-Type。
5)响应体:响应体 body 可放置多种数据类型,由 Content-Type 头来确定。
2. 【强制】前后端数据列表相关的接⼝返回,如果为空,则返回空数组[]或空集合{}。
说明:此条约定有利于数据层⾯上的协作更加⾼效,减少前端很多琐碎的 null 判断。
3. 【强制】服务端发⽣错误时,返回给前端的响应信息必须包含 HTTP 状态码,errorCode、errorMessage、⽤户提⽰信息四个部分。
说明:四个部分的涉众对象分别是浏览器、前端开发、错误排查⼈员、⽤户。
其中输出给⽤户的提⽰信息 要求:简短清晰、提⽰友好,引导⽤户进⾏下⼀步操作或解释错误原因,提⽰信息可以包括错误原因、上下⽂环境、推荐操作等。
errorCode:参考附表 3。
errorMessage:简要描述后端出错原因,便于错误排查⼈员快速定位问题,注意不要包含敏感数据信息。
正例:常见的 HTTP 状态码如下1) 200 OK: 表明该请求被成功地完成,所请求的资源发送到客户端。
java 开发规范

java开发规范(一)java命名规范1、变量、成员、方法名统一采用驼峰命名(lowerCamelCase),做到见语知其义例子:变量——用户数据(userList)、方法——getUserData(int type)等。
说明:正常变量定义使用驼峰命名,特殊的如DTO\VO\DO等除外。
2、类名的定义(1)普通类名采用大写字母开始;(2)抽象类采用Abstract或Base开头。
例子:普通类——class UserModel,抽象类——abstract class AbstractUserDefinition等。
3、常量、类型、接口、子类的定义(1)常量使用全大写且单词之间用"_“隔开; (2)boolean变量不能使用is开头;(3)接口尽量不要修饰符、子类紧跟接口追加Impl。
例子:常量——SORT_TYPE,布尔类型——flag,接口——UserService,实现类——UserServiceImpl等。
说明:常量不可组装,需要原子性定义,不能出现"KEY”+SORT_TYPE 这种内部出现。
4、包名、异常、枚举、方法名称的定义(1)包名一律采用小写; (2)异常都采用_Exception结尾; (3)枚举都是以Enum结尾;(4)方法名称——根据方法内容采用如插入insert-*。
例子:异常——UserException,包名——com.test,枚举——UserEnum,方法名称——insertUser等。
5、领域模型定义规范:主要是以VO\DTO\DO等结尾例子:用户数据——UserDTO等(1)数据对象:xxxDO,xxx 即为数据表名。
(2)数据传输对象:xxxDTO,xxx为业务领域相关的名称。
(3)展示对象:xxxVO,xxx一般为网页名称。
(4)POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
(二)代码格式规范1、括号代码要求左大括号前不换行、左大括号后换行、右大括号前换行、右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行。
Jav代码规范

封面作者:Pan Hongliang仅供个人学习Java代码规范前言:为提高软件开发的质量和速度、增强代码的可读性、统一编程人员在实际工作中的代码编写风格,特此制定出本团队的代码规范,希望各位同仁认真阅读、严格遵守本规范。
本规范由ncs-网络事业部维护。
规范等级说明∙级别I: 默认级别,要求所有项目中的所有成员遵守。
∙级别II: 建议所有项目中的所有成员遵守。
∙级别III: 鼓励各个项目根据实际情况执行。
1.格式与命名规范(Formating and Naming Conventions)1.1 缩进使用Tab缩进,而不是空格键--将缩进2,4,8字符的选择权留给阅读者。
1.2 换行每行120字符--因为已是1024*768的年代。
if,for,while语句只有单句时,如果该句可能引起阅读混淆,需要用" {"和"}"括起来,否则可以省略。
//错误,需要使用花括号{}括起来if (condition)if(condition) doSomething();elsedoSomething();1.3 命名规则∙不允许使用汉语拼音命名∙遇到缩写如XML时,仅首字母大写,即loadXmlDocument()而不是loadXMLDocument()∙Package名必须全部小写,尽量使用单个单词∙为了基于接口编程,不采用首字母为I或加上IF后缀的命名方式,如IBookDao,BookDaoIF。
∙页面部件名建议命名为:btnOK、lblName或okBtn、nameLbl。
( II )其中btn、lbl缩写代表按钮(Button)、标签(Label)。
∙局部变量及输入参数不要与类成员变量同名(get/set方法与构造函数除外)∙方法的名字的第1个单词应以小写字母开头,后面的单词则建议用大写字母开头。
∙常量的名字应该都使用大写字母,并且指出该常量完整含义。
如果一个常量名称由多个单词组成,则建议用下划线来分割这些单词1.4 声明∙修饰符应该按照如下顺序排列:public, protected, private, abstract, static, final, transient, volatile, synchronized, native, strictfp。
java代码格式规范

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代码规范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 拼音尽量使用通俗易懂的英文单词,如果不会可以向队友求助,实在不行则使用汉语拼音,避免拼音与英文混用.比如表示归档,用archive比较好,用pigeonhole则不好,用guiDang 尚可接受。
java 华为软件开发规范(完整)

¹1-6:不允许把多个短语句写在一行中,即一行只写一条语句。 示例:如下例子不符合规范。 rect.length = 0; rect.width = 0;
应如下书写
仅供内部使用
4
PDF Page Organizer - Foxit Software
软件编程规范总则
1 排版
rect.length = 0; rect.width = 0; ¹1-7:if、for、do、while、case、switch、default等语句自占一行,且 if、for、 do、while等语句的执行语句部分无论多少都要加括号{}。 示例:如下例子不符合规范。 if (pUserCR == NULL) return;
应如下书写: if (pUserCR == NULL) { return; } ¹1-8:对齐只使用空格键,不使用TAB键。 说明: 以免用不同的编辑器阅读程序时, 因 TAB 键所设置的空格数目不同而造成程序布局 不整齐,不要使用 BC 作为编辑器合版本,因为 BC 会自动将 8 个空格变为一个 TAB 键, 因此使用 BC 合入的版本大多会将缩进变乱。 ¹1-9:函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case 语句下的情况处理语句也要遵从语句缩进要求。 ¹1-10:程序块的分界符(如C/C++语言的大括号‘{’和‘}’)应各独占一行并且位于同一 列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以 及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。 示例:如下例子不符合规范。 for (...) { ... // program code }
act_task_table[taskno].duration_true_or_false = SYS_get_sccp_statistic_state( stat_item );
java 开发标准
java 开发标准Java 开发标准。
Java是一种广泛使用的编程语言,它的应用范围涵盖了各个领域,从企业级应用到移动设备应用。
因此,制定并遵守Java开发标准对于保证代码质量、提高开发效率至关重要。
本文将介绍一些Java开发标准的基本原则和最佳实践,以帮助开发人员编写高质量的Java代码。
1. 命名规范。
在Java开发中,命名规范是非常重要的。
良好的命名规范可以使代码更易于理解和维护。
在命名变量、方法和类时,应遵循驼峰命名法,并且要求命名具有描述性,能够清晰地表达其用途。
2. 代码风格。
统一的代码风格可以增强团队合作,提高代码的可读性。
在Java开发中,应该遵循统一的代码风格规范,包括缩进、括号的使用、注释的规范等。
此外,应该避免出现过长的代码行,以保持代码的清晰度。
3. 异常处理。
在Java开发中,异常处理是至关重要的。
良好的异常处理可以提高系统的稳定性和可靠性。
在编写代码时,应该充分考虑各种可能出现的异常情况,并对其进行适当处理,避免出现未捕获的异常。
4. 性能优化。
在Java开发中,性能优化是一个重要的考虑因素。
开发人员应该注意避免出现性能瓶颈,并且要时刻关注代码的效率。
在编写代码时,应该尽量避免使用过多的循环嵌套和递归调用,以提高代码的执行效率。
5. 安全性。
在Java开发中,安全性是至关重要的。
开发人员应该时刻关注代码的安全性,避免出现安全漏洞。
在编写代码时,应该遵循安全编程的最佳实践,包括输入验证、防止SQL注入、防止跨站脚本攻击等。
6. 测试。
在Java开发中,测试是保证代码质量的重要手段。
开发人员应该编写充分的单元测试和集成测试,以保证代码的正确性和稳定性。
此外,应该注重测试覆盖率,并且及时修复测试中发现的问题。
7. 文档规范。
在Java开发中,文档规范是非常重要的。
良好的文档可以提高代码的可维护性和可读性。
在编写代码时,应该充分注释代码,并且编写清晰的文档,包括接口文档、设计文档等。
JAVA编码规范
第二章重要规范
( 6 )服务端,对关键交易请求要素进行日志输出,交易处理完成后 输出处理结果; ( 7 )和外部系统交互,可将日志输出详细些,日志中尽量包括:请 求地址、内容、http响应码等状态信息、外部系统响应内容等信息; ( 8 )数据库操作,捕获SQLException并对异常进行输出,可增加数 据库操作错误排查; ( 9 )捕获异常后要对异常信息输出ERROR级别的日志,输出示例: logger.error(“XXX操作异常:”+e.getMassage(),e); ( 10 ) ERROR级别日志输出一般原则:对于由于系统原因造成业务 处理失败的事件,需要记录错误日志。非系统原因的业务处理失败, 不应该记录错误日志(推荐使用warn级别),避免错误日志过大,影 响紧急情况下的故障分析和诊断;
第三章命名规范
3、1包命名规则 java开发中产生的包分为两类,一类是与各业务系统相关的 包;另一类是与业务系统无关的、可公用的包。 规则:
包名应全部是小写字母; 包名中不能出现下划线和其他特殊字符; 第一个字母不能是数字。
示例:
与业务系统相关的包命名格式为:com. lianpay.<projectname>.<modulename>
其中:<projectname>为项目英文简称或缩写; <modulename>为模块英文名称或简称,如果无细分模块的话可 省略模块名。
与业务系统无关的、可公用的包:com. lianpay.share.<modulename>//所有项目通用
第三章命名规范
3.2类接口命名规则 规则:
类的名称应使用名词; 类和接口首字母必须大写,每个单词的首字母应大写(骆驼法 则); 接口名称应以大写I开始,接口实现类以Impl结尾。
(AOS、JAVA)开发规范 -
软件产品开发规范(Java)1 .AOS开发规范1.1包命名1、包结构规定包主要分为两类:第一类为系统公共包com.gxhtjs. tools 该包主要存放对数据库操作的增删查改的基本通用类。
第二类为系统功能模块业务处理包,每个包都为一个独立的功能模块第三类为数据库操作包。
2、包命名格式如:命名:以com.gxhtjs开头,最后个为英文单词不能用拼音缩写。
3、包结构说明tools 工具包,该包的类都是具有通用性的包(包括通用算法类,数据库操作同类)。
biz 业务处理包,将用来处理相关业务的类放入此包。
如果相关的类是提供给页面调用时类在命名如:UserBizPlugin 表示用户信息业务处理插件。
dao 数据库操作包,即对数据库表进行操作时,一般会以表名建立对应类用来操作对应的表。
dao包中的所有具体操作类都将集成数据通用类。
1.2表单命名规范1、表单目录机构如下图按系统大的功能模块,每个模块都是一个独立的包,包的命名必须符合英文帕斯卡命名规范。
2、AOS项目文件名命名规范:所有的文件命名必须以gxhtjs_项目名_大模块名_小模块名.xml进行命名。
例如: gxhx_gxncpsg_xxcj_yhdddjc_sbwsjy.xml 销售统计-银行对账单稽查-上报无实际有form的命名规则同文件名命名方式:<form id="gxhtjs_项目名_大模块名_小模块名">如:gxhx_gxncpsg_xxcj_yhdddjc_sbwsjy 企业无系统有3、SQL语句编写SQL可以通过建立对应表的SQL xml,也可以在form上直接编写SQL尽量使用预编译的形式编写SQL特别是查询SQL。
○1插件的开发规必须符合JA V A编程规范。
1.3页面控件命名2.JA V A编程规范2.1命名规则2.1.1包与类命名2.1.1.1包结构与类名前缀为了便于管理Java开发的应用,Java开发的应用包命名要求带有前缀com,采用“com.包名.子功能包名”的形式,如com.bcl表示基础工具包。
JAVA开发设计规范
JAVA开发设计规范JAVA开发设计规范是指在进行JAVA开发过程中,为了统一编码风格、提高代码可读性和可维护性而制定的一系列约定和规范。
本文将从命名规范、代码布局规范、注释规范、异常处理规范、编码规范等方面介绍JAVA开发设计规范。
1.命名规范变量、方法和类名应使用有意义的英文单词或缩写,遵循驼峰命名法。
-变量名应代表该变量的含义,且不使用无意义的单字母命名。
-方法名应清晰表达方法的功能和作用。
-类名应使用名词或名词短语,首字母大写。
2.代码布局规范-使用缩进方式使代码结构清晰可读。
-使用空行分隔不同的功能块。
-代码行长度应限制在80个字符之内,方便查看和打印。
3.注释规范-对于每个类、方法和成员变量,都应添加必要的注释说明其功能和用法。
-注释应该与代码同步更新,并保持准确性。
-注释应使用简洁明了的语言,不应包含冗余信息。
4.异常处理规范- 在代码中必须使用try-catch块处理可能抛出的受检异常。
- 不应使用catch(Exception e)的方式处理异常,在catch块中应提供相应的处理逻辑。
- 应避免在catch块中直接打印异常信息,而是应使用日志框架打印异常。
5.编码规范-尽量使用局部变量而不是全局变量。
-代码中不应包含硬编码的常量,应使用常量变量或配置文件存储。
-代码中应避免使用魔法数字,而使用有意义的命名常量代替。
-尽量避免使用复杂的表达式和语句,提高代码的可读性。
以上只是JAVA开发设计规范的一部分。
在实际开发过程中,还应根据团队的需求和实际情况进行适当的调整和补充。
良好的编码规范可以提高代码的可读性、可维护性和可扩展性,从而提高开发效率和代码质量。
同时,开发人员应定期进行代码审查和重构,以保证代码的质量和规范的执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发代码规范(C)(仅通普信息技术股份有限公司供内部使用)拟制:杨超日期:2015-3-10审核:夏峰日期:2015-3-10核准:冯敬刚日期:2015-3-17签发:韩殿成日期:2015-3-21文档版本:V1.11黑龙江通普信息技术股份有限公司版本历史目录第一章代码开发规范及其指南 01.1目的 01.2程序内命名规范 01.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; 而不是 bytebuffer[];●方法的参数:使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:SetCounter(int size){this.size = size;}1.3 文件命名规范●文件名由英文单词组成,每个单词的首字母大写,不要超过4个单词,如ShipOrder.jsp。
●Java文件的文件名要与程序中的public类名相同。
●Servet文件要以Servlet做为结尾,如AddCompanyServlet.java●业务处理组件Java Bean要以Bean为结尾,如ProcessBean.java1.4 Java 文件样式所有的 Java(*.java) 文件都必须遵守如下的样式规则●头部版权信息版权信息必须在 java 文件的开头,比如:其他不需要出现在 javadoc 的信息也可以包含在这里。
●Package/Importspackage 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。
如果import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。
这里 java.io.* 使用来代替InputStream and OutputStream 的。
●Class接下来的是类的注释,一般是用来解释类的相关信息,包括标题、描述、。
接下来是类定义,包含了在不同的行的 extends 和 implements●Class Fields接下来是类的成员变量:public 的成员变量必须生成文档(JavaDoc)。
protected、private和package 定义的成员变量如果名字含义明确的话,可以没有注释。
●存取方法接下来是类变量的存取的方法。
它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上。
其它的方法不要写在一行上●构造函数接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。
访问类型 ("public", "private" 等.) 和任何 "static", "final" 或 "synchronized" 应该在一行中。
●克隆方法如果这个类是可以被克隆的,那么下一步就是 clone 方法:●类方法下面开始写类的方法:●toString 方法无论如何,每一个类都应该定义 toString 方法:●main 方法如果main(String[]) 方法已经定义了, 那么它应该写在类的底部.1.5 代码编写格式●代码样式代码应该用 unix 的格式,而不是 windows 的(比如:回车变成回车+换行)●文档化必须用 javadoc 来为类生成文档。
不仅因为它是标准,这也是被各种 java 编译器都认可的方法。
●缩进缩进应该是每行4个空格. 不要在源文件中保存Tab字符. 在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度.如果你使用 UltraEdit 作为 Java 源代码编辑器的话,你可以通过如下操作来禁止保存Tab字符, 方法是通过 UltrEdit中先设定 Tab 使用的长度是4个空格,然后用 Format|Tabs to Spaces 菜单将 Tab 转换为空格。
●页宽页宽应该设置为80字符. 源代码一般不会超过这个宽度, 并导致无法完整显示, 但这一设置也可以灵活调整. 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进2个字符.●程序块要有大括号,即使只有一句程序{} 中的语句应该单独作为一行. 例如, 下面的第1行是错误的, 第2行是正确的:如果 } 语句应该缩进到与其相对应的 { 那一行相对齐的位置。
●括号左括号和后一个字符之间不应该出现空格, 同样, 右括号和前一个字符之间也不应该出现空格. 下面的例子说明括号和空格的错误及正确使用:CallProc( AParameter ); // 错误CallProc(AParameter); // 正确不要在语句中使用无意义的括号. 括号只应该为达到某种目的而出现在源代码中。
下面的例子说明错误和正确的用法:if ((I) = 42) { // 错误 - 括号毫无意义if (I == 42) or (J == 42) then // 正确 - 的确需要括号●import对于import语句,如果某一个包中引用的类不超过三个(包括三个),不允许用import xxx.*;格式。
●变量定义及方法的返回值不允许使用全包名,如ng.String,除非在不同的包中有相同名字的类,必须用全名来区分。
对于类中属性的存取要用方法(getXXX/setXXX,boolean值用isXXX/setXXX),不要直接引用。
第二章程序编写规范方法2.1 权限修饰Java中权限修饰符有三个:public,private,protected,另外一种是不写这三种的任何一个,称为(default).1)对于外部类,只能用public或(default),而且一个文件中最多只能有一个public类。
但是内部类这四种都可以使用。
2)如果对某些数据或方法只允许其所在类使用,用private修饰。
3)如果对某些数据或方法允许本类或同包类使用,用(default),即不写任何修饰符。
4)如果对某些数据或方法允许本类,同包类,或非同包子类使用,用protected.如果对某些数据或方法允许任何类使用,用public修饰。
2.2 其他规范●exit()exit 除了在main 中可以被调用外,其他的地方不应该调用。
因为这样做不给任何代码代码机会来截获退出。
一个类似后台服务的程序不应该因为某一个库模块决定了要退出就退出。
●异常关键操作如涉及到数据库操作和多个关键处理步骤时应当采用try,catch语句,以便于捕获异常(各类Exception)和异常处理。
●垃圾收集JAVA使用成熟的后台垃圾收集技术来代替引用计数。
但是这样会导致一个问题:必须在使用完对象的实例以后进行清场工作。
除非输出流一出作用域就关闭,非引用计数的程序语言,比如JAVA,是不能自动完成变量的清场工作的。
必须象下面一样写:●Clone下面是一种有用的方法:final 类绝对不要因为性能的原因将类定义为 final 的(除非程序的框架要求)如果一个类还没有准备好被继承,最好在类文档中注明,而不要将她定义为final 的。
这是因为没有人可以保证会不会由于什么原因需要继承她。
访问类的成员变量大部分的类成员变量应该定义为 protected 的来防止继承类使用他们。
注意,要用"int[] packets",而不是"int packets[]",后一种永远也不要用。
2.3 编程指南1、byte 数组转换到 characters为了将 byte 数组转换到 characters,可以这么做:"Hello world!".getBytes();2、Utility 类Utility 类(仅仅提供方法的类)应该被申明为抽象的来防止被继承或被初始化。
3、初始化下面的代码是一种很好的初始化数组的方法:objectArguments = new Object[] { arguments };4、枚举类型JAVA 对枚举的支持不好,但是下面的代码是一种很有用的模板:这种技术实现了RED, GREEN, BLUE 等可以象其他语言的枚举类型一样使用的常量。
他们可以用'==' 操作符来比较。
但是这样使用有一个缺陷:如果一个用户用这样的方法来创建颜色 BLACKnew Colour(0,0,0)那么这就是另外一个对象,'=='操作符就会产生错误。
她的equal() 方法仍然有效。
由于这个原因,这个技术的缺陷最好注明在文档中,或者只在自己的包中使用。
性能1、在写代码的时候,从头至尾都应该考虑性能问题,要注意代码的效率。
2、不必要的对象构造3、不要在循环中构造和释放对象4、使用 StringBuffer 对象在处理String 的时候要尽量使用StringBuffer 类,StringBuffer 类是构成String 类的基础。
String 类将 StringBuffer 类封装了起来,(以花费更多时间为代价)为开发人员提供了一个安全的接口。
当我们在构造字符串的时候,我们应该用 StringBuffer 来实现大部分的工作,当工作完成后将 StringBuffer 对象再转换为需要的String 对象。
比如:如果有一个字符串必须不断地在其后添加许多字符来完成构造,那么我们应该使用 StringBuffer 对象和她的 append() 方法。
如果我们用String 对象代替StringBuffer 对象的话,会花费许多不必要的创建和释放对象的 CPU 时间。
5、避免太多的使用 synchronized 关键字避免不必要的使用关键字synchronized,应该在必要的时候再使用她,这是一个避免死锁的好方法。