个人整理--Java编码规范

编码规范对于开发人员来说是非常重要的,有以下几个原因:

1.一个软件的生命周期中,80%的花费在于维护

2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护

3.编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码

4.如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品

5.为来自不同的项目组或个人提供标准的代码格式。

6.增加易读性。

在不用Java两年多后因工作需要我又要转入Java开发,为此我整理出下面的编码规范,以便在以后的工作中遵守。

一 命名规则

1)包:命名应该都是名词或名词性词组,全部小写,单词之间用"."分开;一般使用本公司/组织网站域名的逆序后跟具体的软件内部模块名

包命名举例: package com.sun.java; package com.mycompany.db;

2)类:名词或名词性词组,每个单词首字母大写;一般不使用缩写,除非其缩写更通用和便于理解,如HTML;当要区别接口和实现类的时候,可以在类的后面加上"Impl",例如:interface Container与class ContainerImpl;Exception类用"Exception"做为类命名的结尾,例如:DataNotFoundException;抽象类用"Abstract"做为类命名的开头,例如:AbstractBeanDefinition,AbstractBeanFactory;Test类最好能用"Test"做为类命名的结尾。例如:ContainerTest

类命名举例:class Person; class SpringRain

3)接口: 同"类"的命名规则

接口命名举例:interface Runner;

4)方法:动词或动词性词组,首字母小写,第二个及以后的单词首字母大写;

方法命名举例:run(); displayInformation();

5)变量: 名词或名词性词组,首字母小写,第二个及以后的单词首字母大写;

不提倡使用下画线"_"和美元符"$"作为变量开头;单词间可以使用下画线分隔;变量名不宜过长但也应有意义,除非是临时使用(例如只涉及几行代码)后即丢弃的情况,不建议使用单个字母做变量名,常用的临时使用的变量名包括表示整数的i,j,k,m,n和表示字母的c以及表示异常对象的e等。

变量命名举例:int age; int student_age; String studentName; Exception e;

6)常量:每一个单词都要大写,单词之间用"_"分开。

常量命名举例:final static MIN_WIDTH = 4;final static DEFAULT_CONTAINER_SIZE = 20;

7)文件的命名:java源程序文件以.java结尾,编译后的文件以.class结尾。例如:Container.java,Container.class。

总结:类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。 Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此。对于域名扩展名称,如com,org,net或者edu等,全部都应小写。

二 文件组织

1. 一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成。超过2000行的程序难以阅读,所以一个java程序文件中的代码行数不能超过2000行,除非有特殊原因。每个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件。公共类必须是这个文件中的第一个类或接口。

Java源文件还遵循以下规则,这个规则规定了java程序段落的顺序:

- 开头注释

- 包和引入语句

- 类和接口声明

2.在一个Java类中,各部分顺序:

1)属性声明

2)构造方法声明

3)static语句

4)普通方法声明

5)main方法声明

6)内部类的声明

总结:一般一个完整的java文件内容如下:

1) 包的定义

2) impot类(输入包的顺序、避免使用*)输入包应该按照java.*.*,javax.*.*,org.*.* ,com.*.*的顺序import;在import的时候不应该使用* (例如: java.util.*)

3) 类或接口的定义

4)静态变量定义,按public,protected,private顺序

5)实例变量定义,按public,protected,private顺序

6)构造方法

7)方法定义顺序按照public方法(类自己的方法),实现接口的方法,重载的public方法,受保护方法,包作用域方法和私有方法。

注意:一般类中每个方法的代码行数不要超过100行。

三 分隔和缩进

1.使用空行

在下述情况下使用单行的空白行来分隔:

1)在方法之间

2)在方法内部代码的逻辑段落小节之间

3)在方法中声明局部变量之后,具体的Java语句之前

4)在注释行之前

5)在同一个源文件中定义的多个类/接口之间使用双行的空白行来分隔

2.使用空格符

除正常的成分之间以空格符分隔名(如数据类型和变量名之间),在下述情况下也应使用一个空格符来分隔:

1)运算符和运算符之间,如: c = a + b;

2)在参数列表中的逗号后面,如: void m1(int year, int month) {}

3)在if,for,while待语句之后 如: if (a > b) {}

3.使用换行符

不建议在一行中写多条语句,一条语句的长度一般超过了80个字符时,应该换行;

当一行表达式不能在一行内显示,请按下列顺序要求拆行:

1)在"("或"="符号后拆行

2)在","拆行

3)在一个操作符后拆行

4)把并发的拆行放到同一级别上的缩进

5)如果在拆行中再次拆分的时候遇到"(",应该新拆出来的行放在更远的一个缩进级别上

4.使用小括号

可以使用小括号来强行规定运算顺序

5.使用花括号

开始位置可以位于当前内容的尾部,也可以另起一行

6.使用缩进

在下述情况下应用缩进

1)类中的成分

2)方法体或语句块中的成分

3)换行时的非起始行

缩减量一般为在上一级成分的基础上再缩进四个空格,而 Eclipse 默认格式化是采用 1 个制表符的,可以采用下面的方式更改一下:Window ——> Preferences…… ——> Java ——> Code Style ——> Formatter 点右边的"Edit……"按钮,切换到第一个选项卡"Indentation",在 General settings 组将 Tab policy 由 Table only 改为 Space only,同时把 Indentation size 和 Tab size 改为 4,最后把最上面的 Profile name 取一个名字,名字任意,再点 OK 按钮就可以了。以后按 Tab 键或者 Ctrl + Shift + F 会自动采用 4 个空格作为一个层次的缩进。在eclipse开发工具中,把代码写好之后,可以用快捷键:CTRL + SHIFT + F来自动格式化代码。

四 声明语句

1.变量声明:每行声明一个变量,并加注释。例如:

int count; // number of containers

int count, size; // AVOID THIS!

数组声明应该采用前缀方式。例如:

int[] table;

String[] args;

2.类或接口声明

1) "{"和声明语句在同一行。

2)如果不能在同一行显示,就将"extends"或"implements"进行拆行,并放在两个缩进级别后。

3) "}"符号应该独自占一行。

例如:

public class ChiefExecutiveOfficer

extends Manager

implements Person {

...

}

3.方法声明

"{"和声明语句在同一行。

"}"符号应该独自占一行。

总结:每行声明一个变量,并尽量在声明变量的同时对其进行初始化,除非其初值尚不确定。局部变量应在其所在的方法或语句块的开头集中声明,而不应随用随声明。

五 注释

Java有两种注释方法。"/* This is a comment */"或 "// This is a comment"

第一种应该被用到写JavaDoc上,并且都用"/**"开头。

第二种适合于在做部分代码的注释,但只适合做非常短内容的注释。

另外,对于 HTML、XML、CSS、JavaScript 我要遵守的编码规范如下:

1,HTML、XML 由于层次缩进比较多,建议采用两个空格作为一层缩进;

2,CSS 和 JavaScript 为了与 HTML 配合,也采用两个空格作为一层缩进;

3,HTML、XML 的标签名、属性称全部使用小写字母,HTML 尽量能符合 XHTML 的规范,避免使用 XHTML 不推荐使用的标签,比如:font、applet 等等;

4,HTML 的属性值采用双引号界定;

5,JavaScript 在尽量使用标准的语法、对象等,变量声明能加上 var.字符串常量统一采用单引号界定

补充:

代码书写规范

类的方法的代码行数不能过长,尽量控制在100行(90%),长的方法要拆分成私有函数。 
1 返回值 
在一般情况下,方法返回值不应返回null。而是尽量使用异常代替返回null。如果在特殊情况必须返回null, 必须在方法说明中加以特别说明,如使用“特别注意”等字样。例如:从一个集合类实例中提取一个对象,因为有些集合类实例是允许null作为键或值的,这个时候用异常取代返回null就不合适了

2.异常

整个应用系统使用自行设计的唯一异常类,该类包括message(表示错误信息)和ID号(整型,表示异常类型)两部分,该类在创建时是自动获得类名、方法名、行号等信息。 
在系统开发和上线之后的一段时间内,异常信息要直接发送到浏览器页面,以便于开发人员迅速定位错误。

个人整理--Java编码规范,布布扣,bubuko.com

时间: 2024-10-26 07:53:49

个人整理--Java编码规范的相关文章

java编码规范

右括号") "与其后面的关键字之间,关键字与其后面的左括号"("或"{"之间,以及"}"与"{"之间,要以一个空格隔开:除". "外,所有二元操作符的前.后要加空格:在逗号后边加一个空格. 说明: 一个紧跟着括号的关键词应该被空格分开: 空白应该位于参数列表中逗号的后面: 所有的二元运算符,除了".",应该使用空格将之与操作数分开.一元操作符和操作数之间不应该加空格,

阿里Java编码规范

详细,全面 很不错 阿里 Java编码规范

Java 编码规范

参考Sun公司的Java编码规范,半翻译半理解. 使用空行分割代码块,并给代码块添加注释: 一个文件一个类(或者接口),将私有类放在引用该类的公用类的后面: 源文件构成:文件注释.package/import.类或接口的声明: /* * Class name * Version info * Copyright notice * Program description */ 使用4个空格作为缩进,避免使用Tab键(Tab键还没有统一的标准,有的是4个空格,有的是8个空格): 控制每行代码的长度,

java编码规范及优化总结

一.java概述 1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器.1994年将Oak语言更名为Java. 二.Java的三种技术架构 J2EE:Java PlatformEnterprise Edition,开发企业环境下的应用程序,主要针对web程序开发: J2SE:Java PlatformStandard Edition,完成桌面应用程序的开发,是其它两者的基础: J2ME:Jav

oracle Java编码规范

最近看java编码规范,借鉴petercao的原文翻译并做了改动,还有没有改完的地方,欢迎指正. 原文地址如下 http://www.cnblogs.com/bluestorm/archive/2012/10/04/2711540.html Oracle官方Java编码规范(英文版) http://www.oracle.com/technetwork/java/codeconvtoc-136057.html 1 介绍(Introduction) 1.1 为什么要有编码规范(Why Have Co

规定自己的Java编码规范

给自己规定了Java编码规范,编写Java代码严格按照自己规定的格式.欢迎大家指出问题. /* *COPYRIGHT */ package com.triangle23.projectabbreviationname.modulename.???.???. ##1.所有字母都是用小写,不要有特殊字符 ##2.组合单词的每个部分都写全拼,连接时各个部分之间不要有特殊符号,组合单词不要超过三个,每个部分都用名词,尽量用英文,中文的话用拼音 ##3.projectabbreviationname和mo

标准的Java编码规范手册

编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题.今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助. 编码规范的意义 在项目开发维护中,编码规范作为开发规范的一个组成部分,是十分重要和必须的,它不仅仅是为了提高开发效率,也有利于降低后期维护开发的成本.编码规范的根本目的就是要让不仅代码可以一目了然,也可以很容易的理解开发人员所编写的代码程的用途和意义.由此,用来减少项目中因为开发维护人员的更替或由于长时间不维护造成的记忆模

CheckStyle,定制自己的Java编码规范

前言 一.CheckStyle简介 Checkstyle是一个开发工具,可以帮助程序员编写遵循编码标准的Java代码.它自动化了检查Java代码的过程,以避免人类完成这一枯燥(但很重要)的任务.这使得它非常适合那些希望实施编码标准的项目.Checkstyle是高度可配置的,可以支持几乎任何编码标准,默认内置Sun Java编码规范和Google Java编码规范两套配置文件,我们也可以根据自己的需要配置自己的规范. 二.CheckStyle的安装 与其它的插件一样,CheckStyle插件也提供

Java 编码规范(转)

本文转自:http://www.javaranger.com/archives/390 文章总结出了java编码过程中的一些规范,以便参考. 1.合理组织代码层次,分层清晰:controller.logic.dao.对第三方接口(包括公司接口)的调用:各层要继承基类或实现接口 2.先定义方法原型,再实现方法体 3.理想的方法,是不可拆分的.原子的一个逻辑实现,具有一个明确的职责 4.方法体不超过70行,类体不超过500行 5.类名称.变量名称.方法名称,遵循简单明确,知名见义原则.建议不带数字,