`
mefly
  • 浏览: 148515 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java命名规范详解

阅读更多

 

(转)java命名规范详解

时间:2009-08-27


     http://www.milkyway-edu.com.cn/xwfb.shtml?method=browseById&id=47

 

首先大家要明确定义规范的目标,它是为了使项目标代码样式同一,使程序有良好的可读性。


     

包的命名
(全体小写,由域名定义)
      Java包的名字都是由小写单词组成,北京网络电话安装。但是由于Java面向对象编程的特征,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,网络电话,在最新的Java编程规范中,请求程序员在自己定义的包的名称之前加上唯一的前缀。由于互联网上的域名称是不会反复的,所以程序员一般采取自己在互联网上的域名称作为自己程序包的唯一前缀。
例如:net.frontfree.javagroup
     
类的命名
(单词首字母大写)
      依据商定,Java类名通常以大写字母开头,假如类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包括单词缩写,则这个所写词的每个字母均应大写,如:XMLExample,还有一点命名技能就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。
      例如: Graphics
     
办法的命名
(首字母小写,字母开头大写)
      方式的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。
      例如:drawImage
     
常量的命名
(全体大写 ,常加下划线)
      常量的名字应该都使用大写字母,并且指出该常量完全含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。
      例如:MAX_VALUE
     
参数的命名
      参数的命名规范和方式的命名规范雷同,而且为了避免浏览程序时造成困惑,请在尽量保证参数名称为一个单词的情形下使参数的命名尽可能明白。
  
    Javadoc注释
      Java除了可以采取我们常见的注释方法之外,Java语言规范还定义了一种特别的注释,也就是我们所说的Javadoc注释,它是用来记载我们代码中的API的。Javadoc注释是一种多行注释,以停止,注释可以包括一些 HTML标记符和专门的要害词。使用Javadoc 注释的利益是编写的注释可以被主动转为在线文档,省往了单独编写程序文档的麻烦。
  
    例如:


      在每个程序的最开端部分,一般都用Javadoc注释对程序的总体描写以及版权信息,之后在主程序中 可认为每个类、接口、办法、字段添加 Javadoc注释,每个注释的开头部分先用一句话概括该类、接口、方法、字段所完成的功效,这句话应单独盘踞一行以突出其概括作用,在这句话后面可以跟随更加具体的描写段落。在描写性段落之后还可以追随一些以Javadoc注释标签开头的特别段落,例如上面例子中的@auther和@version,这些段落将在天生文档中以特定方法显示。

 


     

变量和常量命名

     
重要的的命名规范有以下三种
      Camel 标志法:首字母是小写的,接下来的单词都以大写字母开头
      Pascal 标志法:首字母是大写的,接下来的单词都以大写字母开头
      匈牙利标志法:在以Pascal标记法的变量前附加小写序列阐明该变量的类型
      在Java我们一般使用匈牙利标记法,基础构造为scope_typeVariableName,它使用1-3字符前缀来表现数据类型,3个字符的前缀必需小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行准确的断句。例如,定义一个整形变量,用来记载文档数目:intDocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。这样,在一个变量名就可以反应出变量类型和变量所存储的值的意义两方面内容,这使得代码语句可读性强、更加轻易懂得。 byte、int、char、long、float、 double、boolean和short。
     
数据类型/前缀(附)
      byte b
      char c
      short sh
      int i
      long l
      char c
      string s
      float f
      double d
      hashtable h
      [ ] arr
      List lst
      Vector v
      StringBuffer sb
      Boolean b
      Byte bt
      Map map
      Object ob
      对于在多个函数内都要应用的全局变量,在前面再增添“g_”。例如一个全局的字符串变量:g_strUserInfo。
   
   在变量命名时要注意以下几点:
       选择有意义的名字,注意每个单词首字母要大写。
       在一段函数中不应用同一个变量表现前后意义不同的两个数值。
       i、j、k等只作为小型循环的循环索引变量。
       避免用Flag来命名状况变量。
      用Is来命名逻辑变量,如:blnFileIsFound。通过这种给布尔变量确定情势的命名方法,使得其它开发职员能够更为明白的懂得布尔变量所代表的意义。
       假如须要的话,在变量最后附加盘算限定词,如:curSalesSum。
       命名不相包括,curSales和curSalesSum。
       static final 变量(常量)的名字应该都大写,并且指出完全含义。
      如果须要对变量名进行缩写时,必定要注意全部代码中缩写规矩的一致性。例如,如果在代码的某些区域中使用intCnt,而在另一些区域中又使用intCount,就会给代码增添不必要的庞杂性。建议变量名中尽量不要呈现缩写。
      通过在结尾处放置一个量词,就可创立更加同一的变量,它们更轻易懂得,也更轻易搜索。例如,请使用 strCustomerFirst和strCustomerLast,而不要使用strFirstCustomer和strLastCustomer。常用的量词后缀有:First(一组变量中的第一个)、Last(一组变量中的最后一个)、Next(一组变量中的下一个变量)、Prev(一组变量中的上一个)、Cur(一组变量中确当前变量)。
为每个变量选择最佳的数据类型,这样即能减少对内存的需求量,加快代码的履行速度,又会下降出错的可能性。用于变量的数据类型可能会影响该变量进行盘算所发生的成果。在这种情形下,编译器不会发生运行期过错,它只是迫使该值符合数据类型的请求。这类问题极难查找。
尽量缩小变量的作用域。如果变量的作用域大于它应有的范畴,变量可持续存在,并且在不再须要该变量后的很长时光内仍然占用资源。它们的重要问题是,任何类中的任何办法都能对它们进行修正,并且很难跟踪毕竟是何处进行修正的。占用资源是作用域涉及的一个主要问题。对变量来说,尽量缩小作用域将会对利用程序的可靠性发生宏大的影响。
      关于常量的命名方式,在JAVA代码中,无论什么时候,均倡导利用常量代替数字、固定字符串。也就是说,程序中除0,1以外,尽量不应当呈现其他数字。常量可以集中在程序开端部分定义或者更宽的作用域内,名字应当都应用大写字母,并且指出该常量完全含义。假如一个常量名称由多个单词组成,则应当用下划线“_”来分割这些单词如:NUM_DAYS_IN_WEEK、MAX_VALUE。

 

分享到:
评论

相关推荐

    Java代码命名规范详解含详细示例

    在Java编程中,代码命名规范的重要性不容忽视。它不仅影响着代码的可读性和可维护性,还直接关系到项目的开发效率和团队协作的顺畅性。一个遵循良好命名规范的代码库,可以使开发者更快速地理解代码意图、减少错误、...

    JAVA命名规范

    JAVA的命名规范详解,使用规范,新手必须知道的

    Java开发详解.zip

    020802_【第8章:包及访问控制权限】_访问控制权限及命名规范笔记.pdf 030901_【第9章:多线程】_认识多线程笔记.pdf 030902_【第9章:多线程】_线程常用操作方法笔记.pdf 030903_〖第9章:多线程〗_线程操作范例...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    Oracle数据库使用及命名规则的详解

    开始注释,类似JAVAK中的开始注释,主要列出文件名,编写日期,版权说明,程序功能以及修改记录:  REM  REM $Header: filename, version, created date,auther  REM  REM Copyright  REM  REM ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    Java 驼峰命名法详解(必看篇)

    下面小编就为大家带来一篇Java 驼峰命名法详解(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    此外,本书的配套光盘还免费提供了价值人民币330元的java教学视频,对java语言进行了全面讲解,帮助一些不会java语言的读者快速地从java基础知识的学习中过渡到java web的学习与开发上. 第1部分 xml篇. 第1章 xml...

    Java线程三种命名方法详解

    主要介绍了Java线程三种命名方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    23种设计模式的java实现源码 + 详解

    3. 示例中的类,方法的命名规则和各个对象间的协作,基本同原书, 所以可以在看书的同时加以参照。 4. 为图方便,绝大多数示例的效果是用printf表现之。 虽然不能体现Pattern的威力,效果也不够直观,但希望依然能...

    java基础案例与开发详解案例源码全

    3.3.1 变量命名规范39 3.3.2 经验之谈-常见错误的分析与处理40 3.3.3 Java标识符命名规则41 3.3.4 关键字42 3.3.5 常量42 3.4 运算符43 3.4.1 算术运算符43 3.4.2 赋值操作符45 3.4.3 关系操作符47 3.4.4 逻辑操作...

    详解Java编程规约(命名风格、常量定义、代码格式)

    主要介绍了详解Java编程规约(命名风格、常量定义、代码格式),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器...

    疯狂JAVA讲义

    1.6.2 Java源文件的命名规则 17 1.6.3 初学者容易犯的错误 18 1.7 垃圾回收机制 20 1.8 何时开始使用IDE工具 21 学生提问:老师,我想学习Java编程,到底是学习Eclipse好呢,还是学习JBuilder好呢? 21 1.9 本...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    第8章 Java中的包(Package)命名习惯和注释 193 教学视频:43分钟 8.1 Java中的包(Package) 193 8.1.1 Java中的包 193 8.1.2 在Eclipse中使用包 194 8.1.3 天上掉下个package 197 8.1.4 包带来了什么? 197...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    第8章 Java中的包(Package)命名习惯和注释 193 教学视频:43分钟 8.1 Java中的包(Package) 193 8.1.1 Java中的包 193 8.1.2 在Eclipse中使用包 194 8.1.3 天上掉下个package 197 8.1.4 包带来了什么? 197...

    Java基础周测试(一)详解

    在Java语言中,变量命名要符合一定的规则:  1. 标识符必须以字母、下划线“_”或“ $ ”符号开头。 2. 标识符可以包括数字,但不能以数字开头。  3. 除了 “ _ ” 和 “ $ ” 符号外,标识符不能包括任何特殊...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) 1.4.11 JACC(Java容器授权合同) 1.4.12 JCA(Java连接器...

Global site tag (gtag.js) - Google Analytics