`
isiqi
  • 浏览: 16453189 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java编码规范_文件组织

阅读更多

最近,对部门的java编码规范进行了整顿,写了本文档供大家参考,请指正。

1. 为什么要制订编码规范

好的代码风格不仅能提高可读性,而且会使代码更健壮,更为重要的是在修改时不容易出错。在现代软件开发中,维护工作会占用80%的时间,而且开发者和维护者通常不是同一个程序员。这意味着你经常要阅读和修改他人开发的程序,他人也同样可能需要阅读和修改你开发的程序。既然如此,大家何不遵守一致的JAVA编码规范,把这利人利己的事情作好呢?

2. 文件组织(File Organization)

一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成。超过2000行的程序难以阅读,应该尽量避免。每个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件。公共类必须是这个文件中的第一个类或接口。

2.1 开头注释(Beginning Comments)

所有的java文件在开头都应有注释,列出类名、版本信息、日期和版权声明:

/*

* Classname

*

* Version information

*

* Date

*

* Copyright notice

*/

2.2 包和引入语句(Package and Import Statements)

在多数Java源文件中,第一个非注释行是包语句。在它之后可以跟 import 语句。import中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。例如:

package java.awt;

import java.awt.peer.CanvasPeer;

2.3 (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 CounterSet extends Observable implements Cloneable{}

2.4 类的成员变量(Class Fields)

/**

* Packet counters

*/

protected int[] packets;

public 的成员变量必须生成文档(JavaDoc)procetedprivate package 定义的成员变量如果名字含义明确的话,可以没有注释。

2.5 存取方法

接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上,其它的方法不要写在一行上。

/**

* 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; }

2.6 构造函数

接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。访问类型 ("public", "private" .) 任何 "static", "final" "synchronized" 应该在一行中,并且方法和参数另写一行,这样可以使方法和参数更易读。

public CounterSet(int size){

this.size = size;

}

2.7 克隆方法

如果这个类是可以被克隆的,那么下一步就是 clone 方法:

public Object clone() {

try{

CounterSet obj = (CounterSet)super.clone();

obj.packets = (int[])packets.clone();

obj.size = size;

return obj;

}catch(CloneNotSupportedException e) {

throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());

}

}

2.8 类方法

下面开始写类的方法:

/**

* Set the packet counters

* (such as when restoring from a database)

*/

protected final void setArray(int[] r1, int[] r2, int[] r3, int[] r4) throws illegalArgumentException

{

//

// Ensure the arrays are of equal size

//

if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length){

throw new IllegalArgumentException("Arrays must be of the same size");

}

System.arraycopy(r1, 0, r3, 0, r1.length);

System.arraycopy(r2, 0, r4, 0, r1.length);

}

2.9 toString 方法

无论如何,每一个类都应该定义 toString 方法:

public String toString() {

String retval = "CounterSet: ";

for (int i = 0; i < data.length(); i++) {

retval += data.bytes.toString();

retval += data.packets.toString();

}

return retval;

}

2.10 main 方法

如果main(String[]) 方法已经定义了, 那么它应该写在类的底部.

分享到:
评论

相关推荐

    JAVA 编码规范_沈阳东软软件股份有限公司

    ### JAVA编码规范要点解析 #### 一、引言与背景 **1.1 简介** 本规范由沈阳东软软件股份有限公司金融事业部制定,旨在为Java开发者提供一套全面的编码指南。对于习惯自由编程的Java程序员而言,遵循一定的编码...

    华为JAVA编码规范.pdf

    华为JAVA编码规范.pdf是华为公司编写的JAVA编程语言编码规范,旨在提供一个统一的编程风格和代码组织方式,以提高代码的可读性、维护性和可重用性。该规范涵盖了编程语言的基本结构、命名规则、代码组织、注释、编程...

    腾讯java编码规范

    腾讯 Java 编码规范 腾讯 Java 编码规范是腾讯集团管理标准的一部分,旨在确保公司项目代码的易维护性和编码安全性。该规范涵盖了 Java 编码风格、文件组织、代码风格、注释、命名、声明、异常、习惯等方面。 一、...

    JAVA编码规范.doc

    JAVA 编码规范是指导开发人员编写高质量、可读性...综上所述,JAVA编码规范是开发过程中不可或缺的一部分,它涵盖了从文件结构到代码细节的方方面面,旨在提升代码质量,确保团队合作的顺畅,同时降低长期维护的成本。

    Java编码规范终极版

    ### Java编码规范终极版知识点详解 #### 一、引言:为何制定编码规范? 编码规范在软件开发过程中扮演着至关重要的角色。一个清晰且统一的编码标准能够显著提升代码的质量,进而提高软件的整体性能和可维护性。在...

    JAVA编码规范培训

    JAVA编码规范是编程实践中至关重要的指导原则,它旨在提高代码的可读性、可维护性和团队协作效率。以下是对标题和描述中所提及知识点的详细解释: 1. **文件体系结构**: - JSP文件目录结构:通常分为多个子目录,...

    华为JAVA编码规范

    华为JAVA编码规范 华为JAVA编码规范是一份详细的编码规范,旨在提高编码的可读性、可维护性和可扩展性。该规范涵盖了编码风格、代码组织、注释、命名约定等多个方面,对JAVA开发者非常有借鉴价值。 编码风格 * ...

    Java编码规范(开发人员必看)

    《Java编码规范》是一份为Java开发者制定的重要指南,旨在提升代码质量和可读性,确保团队之间的代码一致性。这份规范涵盖了文件组织、缩进排版、注释、声明、语句、空白、命名规范以及编程惯例等多个方面。 在文件...

    java编码规范 java编码规范

    Java编码规范是编程实践中至关重要的一个方面,它旨在提高代码的可读性、可维护性和团队协作效率。遵循一套统一的编码规范可以让代码看起来整洁、专业,并减少由于风格不一致导致的误解。以下是一些主要的Java编码...

    JAVA编码规范

    东软集团股份有限公司为旗下的软件开发事业部制定了一份详细的JAVA编码规范,这份规范不仅适用于新入门的Java程序员,也适合有经验的开发者遵循,以统一开发标准和风格。 该编码规范在文件编号为D05-PDS072的文档中...

    java编码规范.pdf

    ### Java编码规范详解 ...以上内容总结了Java编码规范的关键要点,涵盖了文件命名、组织结构、代码格式、命名规则以及编程实践等多个方面。遵循这些规范可以帮助开发团队编写出高质量、可维护的Java代码。

    华为JAVA编码规范[定义].pdf

    本文档对 JAVA 编程规范进行了详细的讲解,涵盖了编码风格、代码组织、注释、变量命名、语句风格、空格使用、缩进风格、括号使用、语句长度、空行使用、关键字间距、类属性和方法组织、源代码注释、包注释、文件注释...

    Java编码规范 Java编码规范

    根据提供的标题、描述、标签及部分内容,我们可以详细探讨关于Java编码规范的重要性和具体实施方法。 ### 为什么需要Java编码规范? 编码规范对于提高代码的可读性和可维护性至关重要。良好的编码规范能够确保团队...

    java编码规范

    Java编码规范旨在提升代码质量和团队协作效率,通过统一的命名约定、文件组织和格式化规则,使得代码更易于阅读、理解和维护。遵循这些规范,可以帮助初级Java学习者养成良好的编程习惯,为未来的职业生涯打下坚实...

    Java语言编码规范

    Java语言编码规范是Java开发中不可或缺的...以上就是Java编码规范的一些核心要点,遵循这些规范能帮助开发者写出更加规范、易读的代码,提高团队的整体开发效率。在实际开发中,还需要结合具体项目和团队习惯进行调整。

    Java语言编码规范.docx

    ### Java语言编码规范详解 #### 一、引言 在软件开发过程中,编码规范的重要性不容忽视。据统计,软件在其整个生命周期中的维护成本大约占到总成本的80%。因此,建立并遵循一套统一的编码规范对于提高软件的可读性...

    企业级Java编码规范

    企业级Java编码规范为企业级Java开发提供了标准化的代码编写原则,目的是为了提高代码的可读性、安全性和可维护性,同时提升软件开发的生产效率。在编码规范中,详细规定了Java源文件的组织结构、命名规则、代码样式...

Global site tag (gtag.js) - Google Analytics