- 浏览: 326206 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
libaogui777:
前辈,您好, 使用PDFbox 提取内容遇到一个问题,想请教您 ...
java进行pdf解析-----pdfbox -
xin_hany:
提示惊醒了一下,解决了一个让人惆怅的问题,
danga的MemcachedClient的几个缺陷 -
roroyangivan:
牛B啊。。。我觉得 这种 回答。。。阿里的的CTO 都 HOL ...
怎样才是一个好的架构? -
406657836:
今天知道了一个线程创建时会给stack分配1M内存?一个线程默 ...
jvm线程的stack -
linzx0212:
受教了……
danga的MemcachedClient的几个缺陷
Java 语言编程规范
1.1 概述 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
1.1.1 标准
1. 简洁统一的缩进风格。尽管编译人员并不注意这一点,但这对于您编写的代码的未来读者来说尤其重要。本文将详细介绍缩进。
2. 连续缩进/换行的多行代码 。
3.
禁用差别不大(只有一个或少数几个字母不同)的名称。
例如:
hiThere
和
hiThre
4. 在名称中禁用下划线字符('_'),类常量除外(见《类常量》一节)。
5. 使用完整的单词,避免使用缩略语,除非它们是大家非常熟悉的缩略语。
6.
如必须使用缩略语,则把它们作为单词使用。
例如:
用
tempVar
代替
temporaryVariable
,
AmEx
代替
AMEX
7. 代码片断应符合如下标准,起始括号与其相对应的代码的同一行,代码在下一行缩进。结束括号应在与开始程序模块的最初代码的同一缩进位置。通过这一方式来标准化使用括号,您可以很容易地找到闭括号相对应的代码。
例如:
header {
statement 1;
statement 2;
}
例如:
try {
statement 1;
statement 2;
}
例如:
for (int i=0; i < 10; i++) {
statement 1;
statement 2;
}
8. 复合语句应在前一语句的闭大括号的同一行开始。
例如:
if (this == that) {
statement 1;
statement 2;
} else {
statement 3;
}
例如:
try {
statement 1;
statement 2;
} catch(Exception e) {
statement 3;
}
9. 当您需要持续处理向量( Vector ) 中的元素时,使用以下代码以提高运行效率:
例如:
for (int i=0; i < vector.size(); i++) {
// do something to vector.elementAt(i)
}
or
for (int i=vector.size()-1; i >= 0; i--) { // slightly more efficient
// do something to vector.elementAt(i)
}
而不要用 :
Enumeration e = vector.elements();
while (e.hasMoreElements()) {
// do something to e.nextElement()
}
10. 在方法的注释中记录作为异常处理的被忽略的情况 [YN1] 。
例如:
// Something similar to the following would be in the
// method’s javadoc
// comment:
/**
This method does something. If such-and-such occurs, it
is ignored.
*/
try {
obj.doSomething;
} catch (Exception ignored) {}
11. 确保总有一个(catch)用于处理所有未捕获的异常。
1.1.2 指南
1. 保持代码的行长,以与编辑器的水平方向相符(大约75个字符)。
2. 当对基本数据类型(整型、长整型等)进行比较时,使用 ==;对对象数据类型 (字符串、整型、策略等)进行 比较 时,使用 .equals(object) 。与标准相比这仅是提醒而以 [YN2] ,因为 ==用于 比较实际对象的引用信息,而 .equals(Object)用于校验两个对象是 “相等的”。如果您不想 , 或者如果不适用于 重载 equals(object)方法,则实现一个.isEqualTo(object)方法。
3.
当校验布尔型值时,不要采用如下方式
if (booleanValue == true) or
if (booleanValue == false)
建议使用
if (booleanValue) or
if (!booleanValue) // For false condition
4. 避免在if和while 条件句中使用(“=”)(不要编码为: if (x = 0){} )。原因是 x将一直为0,条件将一直为真。
1.1.2.1 事件和异常―何时使用 :
事件- 用于“通知”全体用户(注册了收听的所有人)有事情发生。例如:库存达到最低值,策略已经改变。
异常- 当遇到“异常处理”时抛出(Throw)异常。例如:打开/读/写文件时出错,COBOL程序返回bad (非-0)返回代码,遇到无效指针等。
1. 当抛出异常时,如果抛出少量的异常(3种或低于3种),抛出和捕获(Catch)实际被抛出的异常。如果异常超过3种,设置ProjectException以显示可能要抛出的子类数。这将有助于更清楚地编写代码和文件。不同的捕获程序模块可以用于捕获各个异常。
例如:
当
someMethod()需要抛出3种以上的异常时public void someMethod()抛出ProjectException。
例如
:
public void anotherMethod() {
try {
this.someMethod()
} catch(SpecificException1 exception) {
// Do something
} catch(SpecificException2 exception) {
// Do something else
} catch(ProjectException exception) {
// Default case for handling other unexpected exceptions
}
}
1.2 包
1.2.1 标准
· 一般
1. 当创建包时确保它们使用一目了然的分级体系来进行管理。
例如,如果一个包的类引用第二个包的类,那么第二个包的类不应引用第一个包的类。(如果它们互相引用,它可能意味着任何一个包都不能单独使用。所有类最好在一个包中)。
· 命名 标准
1. 包将使用以下前缀,其中xxxxx是公司名或项目名的缩略语:com.xxxxx
2. 包名全部字母为小写。
例如:
com.xxxxx.business
o
bjects
1. 包的版本名应以这一包主要开发用于的项目阶段开始。
例如:
第1阶段包版本:1.*
第2阶段包版本: 2.*
2. 版本名中,包版本应跟在项目阶段编号之后。
3. 包的最后版本的版本名应在版本名尾包括“(FINAL)”。
1.2.2 指南
1. 为相关功能的各个单独项目或组创建新Java包。根据Java 包标准来创建和使用目录。应记录每个包的目的和有效范围。
2. 每个包中大约包括10 – 20个类。
1.3 类
类可以用多种方式来声明。
如果未明确定义类的访问权限时,Friendly 为缺省访问权限。这意味着尽管类可以在同一包中的其它类访问,但不能被当前包外的其它类访问。人们常犯的一个错误是忘记声明类为 public,因此,如果您想要使用这一机制来限制类的有效使用范围,确保对其进行了描述。
正如它们名字的含义,所有对象都可以访问Public 类。这意味着它们可以被任何对象使用或继承,与包无关。
Final 类不能有任何子类。这一最终类修饰符的使用可能有些疑问,因为面向对象意味着能够继承类和它们的行为。但是,我们手边几乎没有可以继承类和行为的实例。例如,当写网络访问类时,您可能希望限制我们只能用一种方式来接入我们的网络,那么您可以创建final 类。
Abstract 允许我们定义类中至少有一种方法是抽象的。这迫使所有这一个类的子类都定义和实现抽象的方法。
1.3.1 标准
除非有非常明显的理由,否则要求提供构造函数(constructor)。这一构造函数可以有效调用父类构造函数,但子类仍需要提供该函数。务必在类的注释中说明不包括缺省构造函数的原因。
· 命名 标准
1. 所有类名都必须以大写字母开始,必须拼写出整个单词而且附加词的第一个字母必须为大写字母。
例如:
CapitalizedWithInternalWordsAlsoCapitalized, Customer
2. 不要为类添加前缀来标识类(除非某类名已存在)。 包名保证不要使用类名。
3. 特定类型的类后缀添加应适当。
例如:
对于每个业务对象来说(如Customer),可能有其它相关的对象-
· 服务器 上的Home对象 - 如CustomerHome
· 访问相 应服务器对象的客户stub的 对象- 如CustomerHomeStub
· 客户机 和服务器对象共享的接口 - 如CustomerHomeInterface
· 客户窗口界面 包含 代表业务对象的 视图- 如CustomerDetailsView
· 管理业务 流程客户控制器 - 如CreateCustomerManager
1. 使用javadoc注释来介绍每个类。当记录类的API时确保使用 /** … */ 标准。Javadoc包使用这一注释方法从文件夹中提取文件以创建HTML文件,从而记录我们的API。 适当地包括关于改进说明和样本使用的提示或免责声明。
类头的最小文件要求是:
· 类名
· 类的目的/说明
· 类创建者
· 创建日期
· IBM所有权级别 (第I、II或III类)
· 修改信息:
· 修改的人员
· 修改日期
· 修改内容
例如:
/** ClassName
Class description.
Author: <Author’s name>
Date: <Class creation date>
Ownership: <Ownership Level>
Updates
Name: <Author’s name>
Date: <Class update date>
Reason: <some descriptive reason>
*/
2. 注释应总是在类的引入语句之后。如果您在引入语句之前加了注释,当生成javadoc 时IBM VisualAge Java将忽略这些注释。
1. 类的版本命名应以阶段编号开始。
例如:
第 1阶段类版本: 1.*
第2阶段类版本:2.*
2. 版本名中,类的版本应跟在阶段编号之后。
3. 类的上线版本的版本名应在结尾包括 “(FINAL)”。
1.3.2 指南
· import
1. 仅在您从同一包中引入5种类型以上的文件时使用import的*格式,以便迅速编译。
2. 您可以在自己的代码中import所有类型文件。除非存在命名空间冲突,否则不要明确使用完整命名的文件。
3. 验证所有声明的import实际上都是为了帮助最大限度地减少编译时间。
4. 包和类名按字母顺序保存import语句以提高可读性。
1. 抽象类应至少有一个具体方法。如果抽象类只有抽象方法,实际上它应是一个接口。这是因为父类应用于共享一般行为,但接口支持执行所有行为。
内部类是在其它类中定义的类。只有外部类可以看到这些类。
注:写程序时,一些开发环境不能很好地处理内部类。
1.
内部类可用于稳藏“helper”类(如窗口的
Even
发表评论
相关推荐
JAVA编程规范.pdf 本文档提供了JAVA编程规范的详细说明,涵盖了类和方法的设计、编程原则、命名约定等方面的内容。 类和方法的设计 在设计类和方法时,需要遵守一些基本原则。首先,类应该具有强大的内聚力,即类...
华为JAVA编程规范汇编.pdf
《Java编程规范详解》 在软件开发领域,编码规范是一种约定俗成的规则,旨在提升代码的可读性、可维护性和团队协作效率。Java编程规范是Java开发者遵循的重要指导原则,它涵盖了文件命名、文件组织、代码结构、缩进...
Java编程规范 Java编程规范是Java程序员在编写代码时需要遵循的一些约定俗成的命名规定,旨在提高Java程序的可读性和维护性。这些规范包括了包命名规范、类命名规范、接口命名规范、方法命名规范、变量命名规范和...
### Java编程规范与基本原则 #### 一、引言 Java作为一种广泛应用的编程语言,其代码的质量不仅直接影响到软件系统的稳定性与可维护性,而且对于团队协作有着不可忽视的影响。因此,建立一套统一且高效的编程规范...
以上只是部分基于华为JAVA编程规范的知识点,具体细节需要参考《JAVA编程军规.doc》《JAVA十大低级错误.doc》《华为_Java编程规范.pdf》《华为JAVA编程规范.doc》等文档。这些规范旨在提升代码质量和团队协作效率,...
《阿里巴巴Java编程规范》是阿里巴巴官方团队为了提升Java开发者代码质量与一致性,降低维护成本而制定的一套详尽的编程指南。这份规范不仅对新手有很好的引导作用,也为经验丰富的开发者提供了良好的编码习惯建议,...
Java编程的标准之JAVA编程规范,提升编程代码水准,学习java不可或缺
"JAVA编程规范"涵盖了多个方面,包括但不限于命名规范、方法参数处理、注释规则、类和接口设计、异常处理、以及代码风格等。下面我们将深入探讨这些关键知识点。 1. **命名规范**: - 类名:全部大写字母,每个...
本书由Java技术的发明者编写,是Java编程语言的权威性技术指南。如果你想知识语言之构造的精确含义,本书是最好的资源。本书全面、准确而详细地论及了Java编程语言。它提供了对于自前一版以来添加的所有新特性的完整...
本文档从“Java编程代码规范”,“Java编程注释规范”,“Java编程命名规范”,“代码缩进/断行/空行/空格/大括号规范”,“日志记录规范”和“代码上库规范”六个方面提取两家公司的Java编程规范共性。希望能供Java...
《Java编程规范(第3版)》是一本深入探讨Java编程语言最佳实践、代码风格、设计模式以及编码标准的专业书籍。对于任何希望提高其Java编程技能、编写可维护且高效代码的开发人员来说,这本书都是不可或缺的资源。...
通过遵循Google Java编程规范,开发人员可以编写出更加规范、一致且易于维护的代码。这些规范不仅涵盖了编码格式和样式方面的要求,还涉及到了一些最佳实践和约定,这对于构建高质量的软件系统至关重要。
Java 编程规范 Java 编程规范是软件开发中非常重要的一部分,它确保了代码的可读性、维护性和重用性。下面是根据给定文件生成的相关知识点: 1. 排版、格式 在 Java 编程中,排版和格式是非常重要的。它直接影响...
《JAVA编程规范》 在Java编程中,遵循一套标准的编码规范是至关重要的,它能够提升代码的可读性、可维护性和团队协作效率。良好的编程习惯不仅体现了程序员的专业素养,也是确保软件质量的重要保障。 1. **规范...