Java命名规范和编程风格

转载 2016年05月31日 14:11:30

一 命名规范

1.包的命名

小写单词组成

b 加上惟一的前缀。一般采用自己在互联网上的域名作为自己程序包的惟一前缀。

c 格式 “com.公司名.项目名.模块名....”

e.g:net.frontfree.javagroup

附:


indi:个体项目,指个人发起,但非自己独自完成的项目,可公开或私有项目,copyright主要属于发起者。

   包名为“indi.发起者名.项目名.模块名.……”。

pers :

   个人项目,指个人发起,独自完成,可分享的项目,copyright主要属于个人。

   包名为“pers.个人名.项目名.模块名.……”。

priv :

   私有项目,指个人发起,独自完成,非公开的私人使用的项目,copyright属于个人。

   包名为“priv.个人名.项目名.模块名.……”。

team :

   团队项目,指由团队发起,并由该团队开发的项目,copyright属于该团队所有。

   包名为“team.团队名.项目名.模块名.……”。

com :


    公司项目,copyright由项目发起的公司所有。

   包名为“com.公司名.项目名.模块名.……”。




2.类的命名

a 大写字母开头,一个单词中的其他字母均为小写。

b 将每个单词的首字母均用大写,例如TestPage

c 包含单词缩写,则建议将这个词的每个字母均用大写,如:XMLExample

d 类名尽量选择名词。

3.方法的命名

a 以小写字母开头,后面的单词则建议用大写字母开头。驼峰式。

e.g: sendMessge()

4.常量的命名

a 都使用大写字母,并且指出该常量完整含义。

b  多个单词用下划线来分割。

e.g:MAX_VALUE

5.参数的命名

a 参数的命名规范和方法的命名规范相同,参数的命名尽可能明确。

6Javadoc注释

Java除了可以采用常见的注释方式之外,Java语言规范还定义了一种特殊的注释,也就是通常所说的Javadoc注释,它是用来记录代码中的API的。Javadoc注释是一种多行注释,以/**开头,而以*/结束,注释可以包含一些HTML标记符和专门的关键词。使用Javadoc注释的好处是编写的注释可以被自动转化为在线文档,省去了单独编写程序文档的麻烦。

例如:

/**
*This is an example of
* Javadoc
*
*@author darchon
*@version 0.1, 10/11/2002
*/

a.在每个程序的最开始部分,一般都用Javadoc注释进行程序的总体描述以及版权信息。b.在主程序中可以为每个类、接口、方法、变量添加Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、变量所完成的功能,这句话应单独占据一行以突出其概括作用,在这句话后面可以跟随更加详细的描述段落。

c.在描述性段落之后还可以跟随一些以Javadoc注释标签开头的特殊段落,例如上面例子中的@auther@version,这些段落将在生成的文档中以特定方式显示。

e.g:

   

   

    

   

Int

序列号

全局范围

globalID

(类)

用户账单

(类)

UserReckoning

String

用户名称

类成员

userName

Float

当月收入

类成员

currentMonHarvest

Static final

最大金额

类成员

MAX_MONEY

Double

罚款

局部变量

smartMoney

(包)

用户

(包)

user

 

7 集合命名


数组或者容器推荐命名方式为名词+s的方式,例如:

List<Person> persons = getPerson();
for(Person person : persons){
dosomeworks;
}

8 泛型命名


a.应该尽量简明扼要(最好是一个字母),以利于与普通的class或interface区分

Container中的Element应该用E表示;Map里的key用K表示,value用V;Type用T表示;异常用X表示

b.如果需要接收多个Type类型的参数,应该用邻接T的大写字母——例如S——来依次表示,当然也可以用T1, T2这样的方式

public
class HashSet<E> extends AbstractSet<E> {…}

public
class HashMap<K, V> extends AbstractMap<K, V> {…}

public
class ThreadLocal<T> {…}

public
interface Functor<T, X extends Throwable> {

T val() throws X;

}

8.逻辑变量:避免用flag来命名状态变量,用is来命名逻辑变量。
if(isClosed){
dosomeworks;
return;
}

9 部分推荐命名

a.当要区别接口和实现类的时候,可以在类的后面加上“Impl”。

interface Container

class ContainerImpl

 b.Exception类最好能用“Exception”做为类命名的结尾

DataNotFoundException

InvalidArgumentException

 c.抽象类最好能用“Abstract”做为类命名的开头

AbstractBeanDefinition

AbstractBeanFactory

 d.Test类最好能用“Test”做为类命名的结尾

ContainerTest


二 编码风格

1.提倡应用常量取代数字、固定字符串。

2.索引变量:i、j、k等只作为小型循环的循环索引变量。

3.数组

a. int[] arr = new int[10]; 一前一后

b.尽量指定大小避免浪费空间

4.除非花括号中为空,不然任何情况下不能省略花括号,并且花括号必须换行

5.类定义顺序

1)         常量

2)         成员变量

3)         构造函数

4)         成员函数

5)         get和set方法

各个部分之间留出一个空行。

6. 中间打空格

 括号的前,后一个字符不需要空格,例如:Person p = new Person(“Jack” 17);

7.写无参构造函数
8.尽量拆分成简单易懂的小方法,当有多个异常时尽量分开写。

9 不要使用io.*的形式

10 异常捕获后记得加finally关闭文件

参考网址:


http://www.cnblogs.com/coolhwm/archive/2012/03/22/2411811.html

http://blog.csdn.net/changemyself/article/details/22160361


JAVA-编码规范-代码风格-命名

引言: 很多java规范,内容偏向于对排版的要求,对java语言特性使用上的注意事项描述较少,为了能帮助我们合理的使用java语言,规避语言陷阱,特发此专题博客。 代码总体原则: 1:清晰第一。...
  • cuigaochong
  • cuigaochong
  • 2015年09月23日 11:10
  • 3290

Google 编码风格之命名规范(备忘)

参考链接:http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/naming/ 通用规则:所有函数、...
  • Firehotest
  • Firehotest
  • 2016年07月22日 14:02
  • 3149

阿里java编码规范(一)命名风格,常量定义,和代码格式

最近阿里出了一个java开发手册,里面涉及到很多工作规范的地方,有很多借鉴和参考的作用,也可以给新入行的工程师作为参考。 下载地址是在:http://techforum-img.cn-hangzho...
  • harryptter
  • harryptter
  • 2017年06月14日 10:08
  • 2172

Java编程风格与命名规范整理

基本命名规范   包命名   包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。   由一组以“。”连接的标识符构成,通常第一个标识符为符合网络域名的两...
  • skygo1990
  • skygo1990
  • 2013年07月25日 10:24
  • 483

Java编程风格与命名规范整理

Java编程风格与命名规范整理   基本命名规范   1.包命名   包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反。   由一组以“。”连接的...
  • u014801801
  • u014801801
  • 2017年01月17日 14:35
  • 153

Java编程风格与命名规范整理说明

类,接口命名     类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个所写词的每个字...
  • nei504293736
  • nei504293736
  • 2012年05月23日 14:17
  • 483

Google Java编程风格规范

  • 2016年10月09日 10:01
  • 51KB
  • 下载

Google Java编程风格规范

前言这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。与其它的编程风格指南一样,这里所讨论的不仅仅...
  • elsery
  • elsery
  • 2015年09月22日 13:28
  • 361

Google Java编程风格规范

这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不...
  • Aimee_mf
  • Aimee_mf
  • 2017年03月15日 22:40
  • 100

Java编程风格规范(Google )

Google Java编程风格指南 前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java...
  • li295214001
  • li295214001
  • 2015年05月08日 12:52
  • 1368
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java命名规范和编程风格
举报原因:
原因补充:

(最多只允许输入30个字)