java命名规范:注重细节

#java语言规范
##语言的本质
任何一门语言都是用来交流的,都有自己的一套书写规范,Java 也不例外。不遵循规范,则会产生交流问题。

##注重这些细节有几个好处
* 好的命名规范可以使得写出来的程序更容易被别人理解,更好维护。当然也易于自己理解,以便日后扩展。
* 同时,也使程序更规范和专业。 
* 在这个人性化横行的今天,我们的Java命名规范也应该注重体验。共性和个性应该并存。共性则是专业、规范;个性则是每个人优秀思想的渗透。
* 了解命名规范,可以更好的学习和记忆 Java 类库中的类和函数等。
在命名规范里有很多都涉及到英文的,可以促进英文学习。
   比如: numberMax, MaxNumber和maxNumber都是有区别的。
	1. maxNumber可能是属性名
	2. MaxNumber一般是类名
	3. numberMax更倾向于方法。

	这里也有一个英文的搭配问题。
比如:FileRead, FileReader,  这个显然后者作为类名好些。
readFile,fileRead,   这个显然前者作为方法更合适。
 
##一些原则
下面的几个原则是编写 Java 程序必须遵守的
如果没有非常好的理由,永远不要违背他。

1. 包
由小写字母和少量数字组成
Java 自己的包以 java. 和 javax 开头,比如:java.awt
别的组织开发的包以 组织的 Internet 域名部分开头,比如:com.sun, com.borland
一些例子:
com.aliasi.hmm;  com.aliasi.classify;  com.aliasi.cluster;
com:组织;  aliasi:具体的组织名或者个人;  classify,cluter:包名(主题)
org.apache.lucene;  org.apache.lucene.analysis.standard;
org.apache.nutch.ndfs; org.apache.nutch.fs; org.apache.nutch.db; org.apache.nutch.parse;


2. 类,接口
由一个或几个单词组成,每个单词的第一个字母大写,比如:StringBuffer
类:一般用名词和名词词组命名;  IndexOptimizer.java;     WebDbReader.java
接口:与类相同,可以使用形容词词缀,比如 Runnable, Comparable

3. 方法
除第一个字母小写外,和类,接口的命名规则一样。比如:getPersonInfo()
对于取属性值和设置属性值的方法:
不管是否是 Bean,都要遵循 JavaBean 命名规范:getXXX(), setXXX()
转换对象类型返回不同类型的方法:
命名成 toType,比如:toString(), toArray()
返回视图的方法:
命名成 asType() 形式,asList()
返回与调用此方法的对象(Wrapper Class)同值的原始类型的方法:
命名成 typeValue() 形式,比如 intValue(), floatValue()
parseCharacterEncoding(String);

4. 域(属性)
普通域:
除第一个字母小写外,和类,接口的命名规则一样。比如:personInfo
常数域:
由一个或多个被下划线分开的单词组成,比如:VALUES, NEGATIVE_INTINITY
常数域是唯一允许使用下划线的情况。

5. 局部变量
命名与域相同,可以使用简写,比如:i, j, temp, maxNumber
 
##哲学?
定义一个类和一个方法并不是太复杂,当有非常多的类、方法、变量的时候才复杂,因为这些类既有区别,又有千丝万缕的继承和调用关系,这时候一致性设计,并易于理解和记忆,并方便扩展和调用则需要慢慢的体会了。

既然能用语言实现复杂的功能和体现伟大的思想,那么这门语言本身肯定也蕴育着很多哲学。

我的理解:它来源于生活,高于生活,又应用与生活。
posted @ 2015-02-26 10:36  notech  阅读(148)  评论(0编辑  收藏  举报