某有限公司Java编码规范(doc 21页)(正式版)
java编码规则
java编码规则(最新版)目录1.Java 编码规范简介2.Java 编码的基本规则3.Java 编码的进阶规则4.Java 编码的特殊规则5.Java 编码规范的实际应用正文【Java 编码规范简介】Java 编码规范,是指在编写 Java 程序时遵循的一种编码风格和规则。
遵循 Java 编码规范,可以提高代码的可读性、可维护性和可扩展性,从而提高软件开发的效率和质量。
【Java 编码的基本规则】1.遵循统一的编码风格:整个项目或团队应该遵循统一的编码风格,如缩进、空格、换行等。
2.使用有意义的命名:变量、方法、类等命名应该具有明确、简洁、描述性强的特点。
3.合理使用注释:对于复杂的代码、算法等,应该使用注释进行解释说明,提高代码的可读性。
4.遵循面向对象编程原则:尽量使用封装、继承、多态等面向对象编程原则,提高代码的可扩展性和可维护性。
【Java 编码的进阶规则】1.遵循接口隔离原则:不应该强迫客户端依赖于它们不使用的方法,应该尽量减少非抽象类和接口中的方法数量。
2.遵循依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
3.遵循单一职责原则:类应该有明确的职责,应该只有一个原因改变。
【Java 编码的特殊规则】1.异常处理:应该正确处理异常,避免出现未处理的异常。
2.集合使用:应该正确使用集合,避免出现空指针、越界等错误。
3.多线程编程:应该正确使用多线程编程,避免出现死锁、资源竞争等问题。
【Java 编码规范的实际应用】遵循 Java 编码规范,不仅可以提高代码的质量,还可以提高团队的开发效率,降低维护成本。
JAVA编码规范
JA V A编码规范GWP项目研发组2003.6.17目录一、JA V A编程规范简介 (4)二、程序设计标准 (4)(一)命名约定 (4)(二)注释约定 (5)1、Java 注释语句类型 (6)2、快速浏览javadoc (8)三、成员函数标准 (9)(一)、命名成员函数 (9)1、命名存取成员函数 (10)(二)命名构造函数 (11)(三)成员函数的可见性 (11)(四)注释成员函数 (12)1、成员函数的函数头 (12)2、内部注释 (14)(五)编写清晰整洁的代码的技巧 (15)1、给代码加上注释 (16)2、让代码分段/缩进 (16)3、在代码中使用空白 (16)4、遵循30 秒条法则 (17)5、写短小单独的命令行 (17)6、说明运行顺序 (17)四、字段标准(字段/属性) (17)(一)命名字段 (18)1、命名组件 (18)2、命名常量 (19)3、命名集合 (20)(二)字段可见性 (20)(三)注释一个字段 (21)(四)使用存取成员函数 (22)1、为什么采用存取函数? (22)2、命名存取函数 (23)3、存取函数的高级技术 (24)4、存取函数的可见性 (30)(五)一定要初始化静态字段 (30)五、局部变量标准 (30)(一)命名局部变量 (31)1、命名流 (31)2、命名循环计数器 (31)3、命名异常对象 (32)(二)声明和注释局部变量 (32)六、成员函数参数标准 (32)(一)命名参数 (33)(二)注释参数 (33)七、类、接口、包和编译单元的标准 (34)(一)类的标准 (34)1、命名类 (34)2、注释类 (35)3、类的声明 (36)4、公共和保护接口最小化 (37)(二)接口标准 (37)1、命名接口 (38)2、注释接口 (38)(三)包的标准 (39)1、命名包 (39)2、注释包 (39)(四)编译单元标准 (40)1、命名编译单元 (40)2、注释编译单元 (40)八、错误处理和异常 (41)九、各种标准和版本 (42)(一)复用 (42)(二)导入类 (43)(三)优化Java 代码 (43)(四)编写Java 测试集 (44)十、成功的模式 (45)(一)有效地使用这些标准 (45)(二)其它导向成功代码的因素 (46)十一、概括 (48)(一)Java 命名约定 (48)(二)Java 注释约定 (50)1、Java 注释类型 (51)2、注释哪些部分 (52)(三)Java 程序设计约定 (54)十二、附录 (55)(一)标准缩写列表 (55)参考文献 (56)词汇表 (56)一、JA V A编程规范简介本文提供一整套编写高效可靠的 Java 代码的标准、约定和指南。
java编码规范
JAVA编码规范目录JAVA编码规范 (1)1 概述 (8)1.1范围 (8)1.2说明 (8)2 文件体系结构 (10)2.1文件体系规则 (10)规则2.1.1 JSP文件目录结构 (10)建议2.1.2 Java文件目录结构 (10)2.2源文件结构规则 (11)规则2.2.3 类变量的声明顺序是public,protected,package,private (11)规则2.2.4 变量、常量的注释应放在其上方相邻位置 (12)规则2.2.5 用递增的方式写构造器(比如:参数多的写在后面) (12)规则2.2.6 类变量的存取方法:get和set方法 (12)规则2.2.7 如果定义main() 方法,必须将main方法写在类的底部 (12)3 文件命名规则 (13)规则3.1S TRUCTS配置文件命名............................................... 错误!未定义书签。
规则3.2JSP文件命名 (13)规则3.3J AVA文件命名 (13)4 排版规则 (14)4.1语句排版规则 (14)规则4.2.1简单语句每行至多包含一条语句 (14)规则4.2.2 复合语句被括其中的语句缩进一个层次 (14)规则4.2.3 左大括号"{"应位于复合语句起始行的行尾,前面需加一个空格符;右大括号"}"应另起一行并与复合语句首行对齐。
(14)规则4.2.4 必须用"{"和"}"将if内的语句括起来。
(即使只有一条语句的情况下) (14)规则4.2.7 在多层嵌套的for语句中,应在for上一行增加逻辑注释 (15)建议4.2.14 “=”等比较符前后加一个空格 (15)5 注释规则 (16)5.1类注释规则 (16)规则5.1.1 使用JavaDoc,列出功能、版本信息、日期、作者和版权声明 (16)规则5.1.2 如果对文件进行了修改,必须说明修改目的、修改日期、修改人,并变更版本信息 (16)5.2类方法注释规则................................................................. 错误!未定义书签。
JAVA编码(代码)规范(WORD版)
Java编码规范及实践目录Java编码规范及实践 (1)1.2术语 (2)1.3约束 (3)||!(condition5 && condition6)) { (14)4.1一般命名规范 (14)IQuery, IDataAccess,IReportBuilder (15)MAX_TIMES, DEFAULT_NAME (15)4.2特殊命名规范 (17)AbstractReportBuilder,AbstractBeanFactory (18)AccessException, RuntimeException (19)5.2一般原则 (20)1.代码应该和注释保持同步,如果代码和注释不同步,则阅读代码的人会 (20)2.注释尽量简洁,尺度没有准确的定义,大部分人能明白即可,可以将自 (20)Result getResult() throws Exception{ (21)Object getAction(); (22)JavaDoc 工具不要改变格式. (22)Get a default date/time formatter that uses the SHORT (23)Thread.sleep(1000); (24)Derived,如果一个方法可以接受基类对象b 的话:method1(Base b), (25)7.1工厂模式 (26)7.1.1简单工厂 (26)7.1.2工厂方法 (26)7.2单例模式 (27)Client: (27)7.3适配器模式 (28)7.4组合模式 (29)Client: (29)7.5外观模式 (30)Client: (30)7.6代理模式 (31)7.7命令模式 (32)Client: (33)7.8观察者模式 (33)7.9策略模式 (35)Client: (35)IKeyPairGenerable desGenerator = (35)IKeyPairGenerable rsaGenerator = (36)IKeyPairGenerable ideaGenerator = (36)KeyPairManager manager = new KeyPairManager(); (36)7.10模版方法模式 (36)7.11参观者模式 (38)总价格 (40)Client: (40)第1章概述1.1前言代码之于程序员,就像零件之于机械工,庄稼之于农民,它是软件的基石,一行行代码都是程序员的心血经过日日夜夜凝结成的。
JAVA编码规范
if (abc) {
}
for (int i = 0; i < 10; ++i) {
}
do {
} while (false);
try {
} catch (IOException e) {
} finally {
}
3.2 类命名不得使用拼音, 不得使用 My New Test 等无意义的词,要求类名见名知义。
3.3 类合理分包,如 cn.neiwang.emm.ui 中仅应放界面相关的类,不应该放日志模块。
3.4 package 行和 import 行间有且仅有一个空行。 import 结束和 类、接口的开始有且仅有一个空行。
Java编程规范
总体规则
(1) java 代码不得使用IDE自带的格式化,应该仅依赖于编码者去组织。
(2) 源码文件一律使用utf-8编码
(3) 不得因引用的包未使用、变量未使用等问题产生代码警告。
(4) 会显示在任意界面上的字符串严禁硬编码在java代码中,应由资源提供(国际化)
1. 基本规范
e.g.:
String fileName = userInfo.getFileName();
而不是:
String filename = userInfo.getFileName();
也不是:
String file_name = userInfo.getFileName();
1.9 不省略大括号。
e.g.:
if (sucess) {
return true;
}
而不是
if (sucess)
java编码规则
java编码规则【实用版】目录1.Java 编码规范概述2.Java 编码规则详解2.1 命名规范2.2 注释规范2.3 代码格式化2.4 控制结构2.5 数据类型及操作2.6 异常处理2.7 类与对象2.8 接口与继承2.9 泛型2.10 集合框架2.11 多线程正文【提纲】详解1.Java 编码规范概述Java 编码规范,顾名思义,是指在编写 Java 程序时遵循的一系列规则和约定。
这些规范旨在提高代码的可读性、可维护性和可扩展性,帮助开发者编写出高质量的 Java 代码。
Java 编码规范主要涵盖了命名规范、注释规范、代码格式化、控制结构、数据类型及操作、异常处理、类与对象、接口与继承、泛型、集合框架和多线程等方面。
2.Java 编码规则详解2.1 命名规范Java 命名规范主要包括以下几方面:- 类名、接口名和枚举常量名应使用驼峰命名法,即每个单词的首字母大写,除第一个单词外。
- 方法名和变量名应使用驼峰命名法,但第一个单词的首字母小写。
- 常量名应使用大写字母和下划线组合。
- 注释名应以双斜杠(//)开头。
2.2 注释规范注释是程序员对代码的解释和说明,有助于提高代码的可读性。
Java 注释规范要求:- 单行注释以双斜杠(//)开头。
- 多行注释以斜杠星号(/*)开头,以星号斜杠(*/)结尾。
- 注释应简洁明了,避免过多冗余。
2.3 代码格式化代码格式化是指按照一定的风格对代码进行排版,以提高代码的可读性。
Java 代码格式化要求:- 每行代码的长度不超过 80 个字符。
- 语句之间留有空格,以提高可读性。
- 适当的换行和缩进,使代码结构更清晰。
2.4 控制结构Java 控制结构包括条件语句、循环语句和分支语句等。
控制结构应简洁明了,避免过于复杂的逻辑。
2.5 数据类型及操作Java 数据类型包括基本数据类型和引用数据类型。
数据类型操作应遵循以下规范:- 变量应在使用前初始化。
- 避免使用未初始化的变量。
java 编码规范
java 编码规范《Java编码规范》1. 代码风格- 代码缩进:使用4个空格进行缩进,不使用制表符。
- 行长限制:每行代码不超过80个字符,超出则进行换行。
- 行尾空格:行尾不留空格。
- 行尾注释:行尾注释与代码之间至少保留2个空格的距离。
- 命名规范:使用驼峰命名法,类名首字母大写,变量和方法名首字母小写。
- 常量命名:常量使用全大写字母,并用下划线分隔单词。
- 空行:类与方法之间保留一个空行,方法内逻辑块之间保留一个空行。
2. 注释规范- 文件注释:每个源文件的头部必须包含文件注释,说明该文件的作者、日期等信息。
- 类注释:每个类的头部必须包含类注释,描述该类的作用、用法等。
- 方法注释:每个方法必须包含方法注释,描述该方法的功能、参数、返回值等。
- 代码注释:在代码中需要加入注释说明的地方,添加合理的注释来增加代码可读性。
3. 包和导入规范- 包名规范:包名全部小写,多个包名之间用英文句点"."分隔,采用反域名形式命名。
- 导入规范:不要使用通配符"*"导入整个包,应明确导入所需的类。
4. 类和接口规范- 类结构顺序:依次按照成员变量、构造方法、普通方法的顺序来编写类的结构。
- 成员变量声明:先声明公有的静态常量,再声明私有的静态变量,接着声明私有的实例变量。
- 构造方法:在类的开头部分声明构造方法,按照方法名和参数顺序进行编写。
- 方法和变量:局部变量应放在使用的最近位置上,避免声明太早或太迟,增加代码的可读性。
5. 异常处理规范- 异常的捕获和处理:在可能发生异常的地方进行捕获和处理,而不是简单地将异常抛出给上层调用者。
- 不要捕获并忽略异常:捕获异常后应该进行适当的处理,而不是简单地将异常信息打印出来或者忽略它们。
6. 标准化代码结构- 采用分层结构:将代码按照功能、模块进行划分,每个模块或类负责一部分功能。
- 逻辑清晰:保持代码逻辑清晰,避免重复、冗余的代码,使用合适的设计模式来优化代码结构。
《Java编码规范》word版
Java编码规范目录1前言 (2)2命名规范 (2)2.1P ACKAGE (2)2.2F ILE (2)2.3C LASS (2)2.4I NTERFACE (2)2.5常量 (2)2.6变量 (3)2.7M ETHOD (3)3文件规范 (3)3.1注释 (3)3.2P ACKAGE/I MPORTS (4)3.3C LASS (4)3.3.1构造函数 (4)4缩进排版规范 (4)5申明规范 (5)6语句规范 (5)7编程规范 (5)8JSP页面规范 (6)1前言本文档主要是为组织内部使用Java语言进行程序开发的人员提供一个源代码书写标准,以及程序和文件的命名标准,使得能在编程时遵循一致的格式。
2命名规范2.1 PackagePackage的名字总是全部小写的字母采用基于项目以及服务的命名习惯,com.cu.msn.ServiceName.XXX,如路由服务的数据库层包名com.cu.msn.route.dao2.2 FileJava编译器强制规定文件名必须和文件中定义的public class的名称一致。
2.3 ClassClass的名字类名是一个名词,采用大小写混合的方式,每个单词的首字母大写,例如:BaseUser。
2.4 Interface需要区分相似的class的名,Interface 以I开头,同时后面的第二个字母大写,例如:IbaseUser.java。
2.5 常量常量的声明应该全部大写,每个单词之间用"_"连接。
例如:final String WWW_CROSSTEK_CN = "";2.6 变量变量名第一个字母小写,任何中间单词的首字母大写。
变量名应简短且可以顾名思义,易于记忆。
例如:crosstekName、crosstekAddress。
避免单个字符的变量名,除非是一次性的临时变量。
2.7 Method方法名是一个动词或动词词组,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。
JAVA编码(代码)规范(WORD版)
JAVA编码(代码)规范(WORD版)Java编码规范及实践目录Java编码规范及实践 (1)1.2术语 (2)1.3约束 (3)||!(condition5 && condition6)) { (14)4.1一般命名规范 (14)IQuery, IDataAccess,IReportBuilder (15)MAX_TIMES, DEFAULT_NAME (15)4.2特殊命名规范 (17)AbstractReportBuilder,AbstractBeanFactory (18)AccessException, RuntimeException (19)5.2一般原则 (20)1.代码应该和注释保持同步,如果代码和注释不同步,则阅读代码的人会 (20)2.注释尽量简洁,尺度没有准确的定义,大部分人能明白即可,可以将自 (20)Result getResult() throws Exception{ (21)Object getAction(); (22)JavaDoc 工具不要改变格式. (22)Get a default date/time formatter that uses the SHORT (23) Thread.sleep(1000); (24)Derived,如果一个方法可以接受基类对象 b 的话:method1(Base b), (25)7.1工厂模式 (26)7.1.1简单工厂 (26)7.1.2工厂方法 (26)7.2单例模式 (27)Client: (27)7.3适配器模式 (28)7.4组合模式 (29)Client: (29)7.5外观模式 (30)Client: (30)7.6代理模式 (31)7.7命令模式 (32)Client: (33)7.8观察者模式 (33)7.9策略模式 (35)Client: (35)IKeyPairGenerable desGenerator = (35)IKeyPairGenerable rsaGenerator = (36)IKeyPairGenerable ideaGenerator = (36)KeyPairManager manager = new KeyPairManager(); (36)7.10模版方法模式 (36)7.11参观者模式 (38)总价格 (40)Client: (40)第1章概述1.1前言代码之于程序员,就像零件之于机械工,庄稼之于农民,它是软件的基石,一行行代码都是程序员的心血经过日日夜夜凝结成的。
java编码规范
编码规范1.目录绪论 (3)1.1. 目的 (3)1.2. 概述 (3)1.3. 优良代码的特点 (3)1.4. 适用范围 (4)总体架构 (4)2.1. 框架概述 (4)2.2. 框架规范 (5)2.2.1. DAO规范 (5)2.2.2. Service规范 (7)2.2.3. Controller层规范 (7)代码规范 (9)3.1. Java相关命名 (9)3.1.1. 包命名 (9)3.1.2. 类命名规范 (9)3.1.3. 方法命名 (10)3.1.4. 字段命名 (11)3.1.5. 变量 (11)3.1.6. 常量命名 (11)3.1.7. 属性文件.properties定义变量命名 (11)3.1.8. JSP文件命名 (12)3.1.9. JS文件命名 (12)3.1.10. 资源文件命名 (12)3.2. 有关注释 (12)3.3.1. 程序文件头注释 (12)3.3.2. 方法头注释 (13)3.3.3. 关键点注释 (13)格式规范 (14)4.1. 缩进 (14)4.2. 换行 (14)写在后面 (14)版本说明版本作者日期备注初始版秦绪海2017-11-30提出初始版本,分发各相关人员绪论1.1.目的为了使软件开发过程顺畅,保证软件质量,于是有了这份开发规范文档。
1.2.概述●项目以功能模块来划分分工●数据库不能随意修改,本地数据库须统一●有标准的Java代码风格,有良好习惯●时刻考虑代码的可复用性●每个人需要有每周项目进度报告1.3.优良代码的特点任何的软件设计中,都离不开编程实现。
在软件实现中,除了程序架构设计、数据结构设计、算法的设计以外,还有具体的代码的编写规范问题。
好的代码应该具有以下的特征:●准确性:保证程序运行稳定、正确,不容易出错●简单性:程序代码容易管理●清晰性:程序容易理解,无论对人还是计算机●普遍性:在很广泛的情况下都能工作的很好,也容易做修改以适应新出现的情况1.4.适用范围本规范适用于本公司(上海奇搜网络科技)所有软件项目、产品等的设计、开发以及维护、升级等。
java编码规范
JAVA编码规范目录JAVA编码规范 (1)1 概述 (7)1.1范围 (7)1.2说明 (7)2 文件体系结构 (8)2.1文件体系规则 (8)规则2.1.1 JSP文件目录结构 (8)建议2.1.2 Java文件目录结构 (8)2.2源文件结构规则 (9)规则2.2.3 类变量的声明顺序是public,protected,package,private (9)规则2.2.4 变量、常量的注释应放在其上方相邻位置 (9)规则2.2.5 用递增的方式写构造器(比如:参数多的写在后面) (9)规则2.2.6 类变量的存取方法:get和set方法 (9)规则2.2.7 如果定义main() 方法,必须将main方法写在类的底部 (9)3 文件命名规则 (10)规则3.1S TRUCTS配置文件命名 ............................................. 错误!未定义书签。
规则3.2JSP文件命名 (10)规则3.3J AVA文件命名 (10)4 排版规则 (11)4.1语句排版规则 (11)规则4.2.1简单语句每行至多包含一条语句 (11)规则4.2.2 复合语句被括其中的语句缩进一个层次 (11)规则4.2.3 左大括号"{"应位于复合语句起始行的行尾,前面需加一个空格符;右大括号"}"应另起一行并与复合语句首行对齐。
(11)规则4.2.4 必须用"{"和"}"将if内的语句括起来。
(即使只有一条语句的情况下) (11)规则4.2.7 在多层嵌套的for语句中,应在for上一行增加逻辑注释 (12)建议4.2.14 “=”等比较符前后加一个空格 (12)5 注释规则 (13)5.1类注释规则 (13)规则5.1.1 使用JavaDoc,列出功能、版本信息、日期、作者和版权声明 (13)规则5.1.2 如果对文件进行了修改,必须说明修改目的、修改日期、修改人,并变更版本信息 (13)5.2类方法注释规则................................................................. 错误!未定义书签。
java编码规范
java编码规范Java编码规范是为了提高代码的可读性、可维护性和可重用性而制定的规范。
本文将向您介绍一些常见的Java编码规范,以帮助您编写高质量的Java代码。
1. 命名规范- 类名使用大写开头的驼峰命名法,例如`MyClass`。
- 方法名使用小写开头的驼峰命名法,例如`myMethod`。
- 变量名使用小写的驼峰命名法,例如`myVariable`。
- 常量名使用全大写并用下划线分隔单词,例如`MAX_SIZE`。
- 包名使用全小写并用点分隔单词,例如`com.example.myapp`。
2. 注释规范- 类、方法和变量前应添加注释,说明其作用和用法。
- 可以使用`//`进行行注释,例如:`// This is a comment`。
- 可以使用`/* */`进行块注释,例如:```/** This is a block comment* It can span multiple lines*/```- 每个文件应包含版权信息和作者信息的注释。
3. 缩进规范- 使用4个空格进行缩进,不使用制表符。
- 每个代码块应该有一个缩进级别。
4. 括号规范- 左括号应该在语句或声明的同一行,并在后面加上一个空格。
- 右括号应该独占一行。
```if (condition) {// code here}```5. 空格规范- 在二元运算符之间、逗号之后和分号之后应添加一个空格。
- 在关键字和左括号之间、左括号和参数之间、方法名和左括号之间不应有空格。
6. 异常处理规范- 在可能引发异常的代码周围使用`try-catch`块来处理异常。
- 在`catch`块中处理异常,不要简单地打印异常信息。
- 在方法声明中使用`throws`关键字指定可能抛出的异常。
7. 包规范- 包名应该反映代码的层次结构和功能。
- 不要使用Java的保留关键字作为包名。
8. 导入规范- 不要使用通配符导入,应该明确导入需要使用的类。
JAVA编码规范
1.命名规范命名要使用品有实际意义旳英文单词,或者单词旳缩写,不要使用单个旳字母来命名一种变量,一种好旳命名,几乎不用看文档就能懂得该措施或者变量旳意义,如同Java API,它旳命名还是很值得借鉴旳。
命名旳一般规范:1.尽量使用完整旳英文描述符(除非尤其必要,尽量不要使用汉语拼音缩写形式)。
2.采用合用于有关领域旳术语(如url之类旳术语,但术语必须是大家承认旳)。
3.采用大小写混合使名字可读。
4.尽量少用缩写,但假如用了,要明智地使用,且在整个工程中统一,某些常用旳缩写可以参照Java API 如message旳缩写可认为msg。
5.防止使用长旳名字(不不小于15 个字母是个好主意)。
6.防止使用类似旳名字,或者仅仅是大小写不一样旳名字。
7.防止使用下划线(除静态常量等)。
1.1. package 旳命名package 旳名字应当都是由小写字母单词构成,名字旳前两级为com.highsoft,三级名称为模块名。
例如:包名com.highsoft.demo.action表达demo模块下处理类包名。
1.2. Class 旳命名Class 旳名字必须由大写字母开头而其他字母都小写旳单词构成,对于所有标识符,其中包括旳所有单词都应紧靠在一起,并且大写中间单词旳首字母。
例如:public class ThisAClassName{}1.3. 变量旳命名对于变量旳命名,要尽量到达能通过变量名懂得这个变量体现旳含义,变量采用小写字母开头,对于由多种单词构成旳变量名,所有单词都应紧靠在一起,并且大写中间单词旳首字母。
对于常量(static final类型)采用如下方式命名:字母所有大写并使用下划线分隔单词(如:DB_CONFIG)。
1.4. 参数旳命名参数旳名字必须和变量旳命名规范一致。
1.5. 数组旳命名数组命名和变量命名类似,重要是能体现出这是一组数据。
1.6. 措施旳参数使用故意义旳参数命名。
同步请参照“变量旳命名”条目。
某有限公司Java编码规范
Java编码标准修订历史记录一简介1目的本标准的目的是使开发人员以标准的、标准的方式编写代码,养成良好的编码风格和习惯,形成公司内部编码约定,提高程序的可读性,可维护性以及一致性,同时减少工程组成员间技术沟通本钞票,提高团队开发效率。
2范围1、本文档基于Java的语法描述编码标准。
2、本文档从代码风格、注释、命名、声明以及异常处理等五个方面对Java 编码进行约定。
3、本标准适用于所有运用Java技术的软件工程、产品。
4、本标准适用的文件类型包括但不限于Java源文件、JSP文件、XML文件、HTML文件、JS文件以及AS文件。
5、本标准建议采纳统一的CodeStyle以及Formatter风格,通过IDE进行配置。
3读者范围1、软件过程先进领导小组以及工作小组所有人员;2、所有运用Java技术的软件工程、产品的相关领导、工程负责人、设计人员、开发人员以及测试人员。
3、所有涉及运用Java技术的软件工程、产品的相关人员。
二代码风格1缩进1、使用空格代替Tab缩进,防止各种编辑器中瞧到不一样的代码格式。
【注:强制执行,Eclipse可辅助排版】2、代码按层级缩进,每层级缩进4个字符〔关于特定格式文件,能够按照实际进行调整,如XML文件可缩进2个字符〕,所有“{}〞块内容都应该进行缩进。
【注:强制执行,Eclipse可辅助排版】参考例子:2括号1、除数组的初始化定义外,“{}〞中的语句应单独作为一行。
【注:强制执行,Eclipse可辅助排版】2、左括号“{〞可依据开发习惯是否换行存放,要是换行存放,必须与其前导语句首字符对齐,右括号“}〞必须作为单独一行存放同时与匹配行对齐〔即左括号前导语句首字符〕。
【注:强制执行,Eclipse可辅助排版】3、在工程内部,相同类型的文件,其括号的风格必须统一。
【注:强制执行,Eclipse可辅助排版】参考例子:3空格1、操作符两端必须带有空格符。
【注:强制执行,Eclipse可辅助排版】参考例子:2、各并行元素〔如函数参数〕间以空格符隔开,空格符放在逗号前方。
Java编码规范
} 特殊代码注释
代码质量不高但能正常运行,或者还没有实现的代码用//TODO: 声明 存在错误隐患的代码用//FIXME:声明
4. 编程规范(Programming Conventions)
基本规范
当API会面对不可知的调用者时,方法需要对输入参数进行 校验,如不符合则抛出IllegalArgumentException,建议使用 Spring的Assert系列函数。 代码中不能使用System.out.println(),e.printStackTrace(),必 须使用logger打印信息。 变量,参数和返回值定义尽量基于接口而不是具体实现类, 如Map map = new HashMap(); 用double而不是float 隐藏工具类的构造器,确保只有static方法和变量的类不能被 构造实例。 在数组中的元素(如String [1]),如果不再使用需要设为 NULL,直接用Collections类 而不是数组。 尽量使用protected 而不是 private,方便子类重载。
规范等级说明
级别I: 默认级别,要求所有项目中的所有成员遵守。 级别II: 建议所有项目中的所有成员遵守。 级别III: 鼓励各个项目根据实际情况执行。
参考资料
2. 格式与命名规范(Formating and Naming Conventions)
缩进
使用Tab缩进,而不是空格键--将缩进2,4,8字符的选择权留给阅 读者。
声明
修饰符应该按照如下顺序排列:public, protected, private, abstract, static, final, synchronized。 类与接口的声明顺序(可用Eclipse的source->sort members功能自 动排列): 1. 静态成员变量 / Static Fields 2. 静态初始化块 / Static Initializers 3. 成员变量 / Fields 4. 初始化块 / Initializers 5. 构造器 / Constructors 6. 静态成员方法 / Static Methods 7. 成员方法 / Methods 8. 重载自Object的方法如toString(), hashCode() 和main方法 9. 类型(内部类) / Types(Inner Classes) 同等的类型,按public, protected, private的顺序排列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java编码规范修订历史记录一简介1 目的本规范的目的是使开发人员以标准的、规范的方式编写代码,养成良好的编码风格和习惯,形成公司内部编码约定,提高程序的可读性,可维护性以及一致性,同时减少项目组成员间技术沟通成本,提高团队开发效率。
2 范围1、本文档基于Java1.5的语法描述编码规范。
2、本文档从代码风格、注释、命名、声明以及异常处理等五个方面对Java 编码进行约定。
3、本规范适用于所有运用Java技术的软件项目、产品。
4、本规范适用的文件类型包括但不限于Java源文件、JSP文件、XML文件、HTML文件、JS文件以及AS文件。
5、本规范建议采用统一的Code Style以及Formatter风格,通过IDE进行配置。
3 读者范围1、软件过程改进领导小组以及工作小组所有人员;2、所有运用Java技术的软件项目、产品的相关领导、项目负责人、设计人员、开发人员以及测试人员。
3、所有涉及运用Java技术的软件项目、产品的相关人员。
二代码风格1 缩进1、使用空格代替Tab缩进,避免各种编辑器中看到不一样的代码格式。
【注:强制执行,Eclipse可辅助排版】2、代码按层级缩进,每层级缩进4个字符(对于特定格式文件,可以按照实际进行调整,如XML文件可缩进2个字符),所有“{}”块内容都应该进行缩进。
【注:强制执行,Eclipse可辅助排版】参考例子:2 括号1、除数组的初始化定义外,“{}”中的语句应单独作为一行。
【注:强制执行,Eclipse可辅助排版】2、左括号“{”可根据开发习惯是否换行存放,如果换行存放,必须与其前导语句首字符对齐,右括号“}”必须作为单独一行存放并且与匹配行对齐(即左括号前导语句首字符)。
【注:强制执行,Eclipse可辅助排版】3、在项目内部,相同类型的文件,其括号的风格必须统一。
【注:强制执行,Eclipse可辅助排版】参考例子:3 空格1、操作符两端必须带有空格符。
【注:强制执行,Eclipse可辅助排版】参考例子:2、各并行元素(如函数参数)间以空格符隔开,空格符放在逗号后方。
参考例子:【注:强制执行,Eclipse可辅助排版】3、无特别要求,括号“{}”、“[]”、“()”左右方尽量不要增加无必要性的空格符。
【注:强制执行,Eclipse可辅助排版】参考例子:4 空行1、同一个编译单元间(包定义、导入声明、类)应以空行相隔。
参考例子:【注:强制执行,Eclipse可辅助排版】2、类定义内部各元素间(字段定义、方法)应以空行相隔。
参考例子:【注:强制执行,Eclipse可辅助排版】3、同一方法内实现不同的功能之间应以空行相隔。
【注:强制执行】4、不能无理由出现大片空行。
【注:强制执行】5 控制语句1、对于循环控制等元素块,不管是否带有body,都应该以{}包含。
参考例子:【注:强制执行】6 行宽1、每行代码尽量控制行宽在100字以内,当超出100字时候,代码应当进行缩进。
【注:非强制执行,属加分项】2、方法的缩进应当保证参数对齐。
【注:非强制执行,属加分项】参考例子:3、对于过长的SQL/HQL语句,则采用关键字对齐方式,具体可通过PL/SQL 等工具进行代码的格式化。
【注:非强制执行,属加分项,附带《sql规范》一并考核】参考例子:7 类、函数1、每个函数的代码长度应尽量控制在50行以内(不包含注释),如果函数功能过于庞大,可把独立的功能段单独抽取出来作为子函数。
【注:非强制执行,属加分项】2、每个类的代码长度应尽量控制在1000行以内(不包含注释),如果类功能过于庞大,可通过组合的方式来分解类。
【注:非强制执行,属加分项】三注释1 基本原则1、注释目的在于增加代码清晰度,使代码易于被其他开发人员理解。
【注:强制执行】2、保持注释简洁,禁止为了注释而注释。
【注:强制执行】3、注释除带有代码功能外,还应带有描述上下文意图,具体描述其原因。
4、除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。
5、对描述较长的注释,应当使用HTML标记进行格式化,便于生成的JavaDoc易阅读和理解。
【注:强制执行】2 文件、包1、文件、包头部应当带有注释,描述其功能、作用、作者、创建时间、修改历史等信息。
【注:非强制执行,属加分项】参考例子:3 类、接口1、对类、接口的注释应当符合JavaDoc规范。
【注:强制执行】2、类、接口定义必须标记功能、作用、作者、时间。
【注:强制执行】3、当代码基线定义后,后续维护中新增的方法或字段在类、接口声明头部中应当添加修订记录,注明时间、原因以及作者。
【注:非强制执行,属加分项】参考例子:4 方法1、对方法的注释应当符合JavaDoc规范。
【注:强制执行】2、方法定义应带有功能、作用、执行条件(如果有)、参数,对于复杂功能的方法,应当带有例子描述。
【注:功能、作用、执行条件(如果有)、参数属强制执行;例子描述属非强制执行,属加分项】3、每个方法中含有的参数以及返回值应当描述其类型、作用、值的范围,对方法的影响。
【注:强制执行】4、当方法抛出自定义的受控异常(Checked Exception,不含工具、框架抛出的异常)时,必须对异常产生的原因进行描述,便于调用者捕捉。
【注:强制执行】参考例子:5、对规范中约定的方法,如回调方法、getter/setter方法,只要遵守其命令约定,均不需要编写注释。
【注:非强制执行】参考例子:6、如果方法内部涉及复杂的算法、关键步骤或难以理解的语句,应当添加注释标明其含义。
【注:非强制执行,属加分项】7、对于超过一行注释,必须采用“/* */”进行标注,而单行注释可采用“//”标注。
【注:强制执行】5 变量1、全局变量、静态变量、类中的字段应当带有注释。
【注:强制执行】参考例子:2、对规范中约定的变量,如注入对象(如Service、DAO),通讯对象(如RemoteObject),只要遵守其命令约定,均不需要编写注释。
【注:非强制执行,属加分项】参考例子:3、对于方法内部产生的临时变量,应当尽量添加注释,标明其中的作用。
四命名1 基本原则1、文件,类,函数,变量,命名必须采用可准确表达其意义的英文单词。
2、命名不能和关键字相同。
【注:强制执行】3、尽量避免使用出现误解的词汇。
4、不允许使用拼音命名,全部使用英文单词或缩写命名。
【注:强制执行】2 文件、包1、文件名第一字母应大写。
【注:强制执行】2、文件名应尽量描述该文件作用。
【注:非强制执行,但采用拼音命名需扣分】3、文件名应使用名词或形容词+名词。
【注:强制执行】4、包名一般以项目或模块名进行命名,采用小写。
【注:强制执行】5、包名组成规则[基本包].[项目名].[模块名].[子模块名]... 【注:强制执行】参考例子:6、禁止把类直接定义在默认包下。
以下行为必须禁止:【注:强制执行】3 类、接口1、类、接口名第一字母应大写。
【注:强制执行】2、类名应尽量描述该类作用。
【注:强制执行】3、类名应使用名词或形容词+名词。
【注:强制执行】4、如果需要用到多个单词表达其意义,每个单词第一个字母必须用大写标识。
【注:强制执行】参考例子:5、类名不使用下划线。
【注:强制执行】6、如果用到某些特定名词作为类名,应保持该特定名词,如“ADOHelper”。
【注:强制执行】7、接口的第一个字母应为“I”,其他命名规则与普通类名相同。
【注:强制执行】8、对于DAO类,其命名规则为:名词+“DAO”,对于应用服务类,其命名规则为:名词+“Service”。
【注:强制执行】9、如果类为持久类,需要与数据库表进行绑定的,其命名在忽略前缀以及下划线等特殊字符的情况下,应与数据库表名保持一致。
【注:强制执行】以下行为必须禁止:4 字段1、字段名第一字母应小写。
【注:强制执行】2、字段名应尽量描述该字段的作用。
【注:强制执行】3、字段名应使用名词或形容词+名词。
【注:强制执行】4、如果需要用到多个单词表达其意义,除第一个字母外,每个单词第一个字母必须用大写标识。
【注:强制执行】5、如果字段所在类为持久类,需要与数据库表进行绑定的,其命名在忽略前缀以及下划线等特殊字符的情况下,应与数据库字段名保持一致。
【注:强制执行】5 方法1、方法名第一字母应小写。
【注:强制执行】2、方法名应尽量描述该方法的作用。
【注:强制执行】3、方法名应使用“动词+名词”形式命名。
【注:强制执行】4、如果需要用到多个单词表达其意义,除第一个单词外,其他单词第一个字母必须用大写标识。
【注:强制执行】5、对于常用的DAO查询方法,方法应当表明方法出处、数据的来源以及查询依据。
如getOrderListByCustomer方法根据顾客获取订单列表,此方法由Order模块提供而不是Customer模块。
【注:(1)强制执行,但条件定义为非强制执行,即getOrderListByCustomer中的ByCustomer为非强制执行】6、回调方法应使用“Callback”作为方法后缀,如非特殊回调方法,可采用“调用方法+Callback”命名规则,如login方法回调,其方法命名为loginCallback。
【注:强制执行】7、Flex各种事件,采用“on”作为方法前缀命名,如非特殊事件,可采用“on+方法名”命名规则,如createComplete事件中,其方法命名为onCreateComplete,如果存在多个相同的事件,采用“on+组件ID+方法名”命名规则。
【注:强制执行】6 变量1、变量名第一字母应小写。
【注:强制执行】2、变量名应尽量描述该变量的作用。
3、变量名一般使用“形容词+名词”或单个名词,布尔变量应使用含有“判断意义的单词+名词”,例如判断是否已关闭的变量:boolean isClosed,禁止声明类似aaa、bb无法定义、理解的变量。
【注:强制执行】4、如果需要用到多个单词表达其意义,除第一个单词外,其他单词第一个字母必须用大写标识。
【注:强制执行】5、用于for循环的局部变量可使用i等单个字母。
【注:非强制执行】7 常量1、常量名应尽量描述该常量的作用。
【注:非强制执行,但采用拼音命名需扣分】2、常量名一般使用“形容词+名词”或单个名词。
【注:强制执行】3、如果需要用到多个单词表达其意义,单词间应通过“_”分割。
【注:强制执行】参考例子:8 组件变量1、组件变量符合变量命名规则。
【注:强制执行】2、组件变量名一般采用组件前缀+变量名命名。
【注:强制执行,表单内的组件变量非强制执行】3、一般情况下,组件前缀可采用组件缩写(见本章第9节Flex命名约定表)或全名表示,但对于过长的组件命名,建议采用缩写标识。
(新增的必须执行)【注:强制执行,因考虑其对旧项目的改动性太大,故该考核只针对新增的代码模块,其中Flex命名约定表里的组件若需要缩写标识,则必须是Flex命名约定表中对应的缩写标识】4、对于某些显示数据库字段的控件,其变量名应对应数据库字段名。