Java编程规范之命名规范

来源:互联网 发布:vb程序设计培训班 编辑:程序博客网 时间:2024/05/18 03:13

原文地址,翻译过程中进行了佐证搜索,均在文中以红字标出,如有错误、欢迎指出。

什么是命名规范?

命名规范是一种规则,是你在命名标识符(如类、包、变量、方法等)时所要遵守的。

为什么使用命名规范?

不同的Java程序员有不同的编程风格和方式。通过使用标准的Java命名规范,程序员可以写出易读性的代码,方便自己或其他程序员阅读。Java代码的易读性是很重要的,因为良好的易读性意味着我们可以花费较少的时间找出某段代码的作用,从而留出更多的时间修改或订正这段代码。

为了更加说明这一点,有个现象是值得一提的——大多数软件公司都会有相关文档,这些文档概括了公司希望自己的程序员所遵循的命名规范。

如果你对这些规则很熟悉,即使你是刚进入公司,也可以轻易读懂离职多年的前员工所写的旧代码(前提是所有员工严格按照规范进行开发)

为标识符选择合适的名字

当命名标识符时,请确保所起名字是有意义的。例如,如果你的程序负责处理用户账户,那就选择一个与处理用户和账户业务相关的、有意义的名字,比如customerName, accountDetails。不要担心名字的长度。一个很好的表明出标识符意义的长名字,要比一个方便拼写却意义模糊的短名字更胜一筹。

关于大小写

遵循命名规范的关键是:恰当地使用字母的大小写。

  • 小写拼写法(Lowercase),是指单词的所有字母都是用小写形式书写的,如while、if、mypackage。
  • 大写拼写法(Uppercase),是指单词的所有字母是用大写字母书写的。当一个名字中包含不止一个(即≥2)单词时,需要使用下划线来隔开这些单词,例如MAX_HOURS,FIRST_DAY_OF_WEEK。
  • 骆驼拼写法(CamelCase),又称为大骆驼拼写法(Upper CamelCase),是指每个单词的首字母以大写、其余字母小写,如CamelCase、CustomerAccount、PlayingCard。
  • 混合拼写(Mixed case),又叫小骆驼拼写法(Lower CamelCase),它跟上面的骆驼拼写法很像,除了一点:在混合拼写法中名字的第一个字母是小写形式。如hasChildren、customerFirstName、customerLastName。

在阮老师博文 骆驼拼写法(CamelCase) 中,是把大骆驼拼写法、小骆驼拼写法统归为骆驼拼写法。

标准Java命名规范

下面列表针对各个类型标识符列出了相应的标准Java命名规范。

包(Packages):

包名应该使用小写拼写法。对于只有几个包的小项目,使用简单的名字作为包名就可以了(但必须有意义!),例如:

package pokeranalyzer package mycalculator
在大型项目里,包可能会被其他类所引用(import),包名通常会进行细分。 典型地,包名会以公司域名开头,然后再按层级或功能细分,如:

package com.mycompany.utilities package org.bobscompany.application.userinterface

类(Classes):

类名要使用骆驼拼写法。尽量使用名词,因为一个类通常代表了现实世界中的某个事物:

class Customer class Account

接口(Interfaces):

接口名要使用骆驼拼写法。接口的名字常常用于描述类所能做的某个操作:

interface Comparable interface Enumerable
注意,一些程序员喜欢用字母 I 做开头来命名接口,以区分于类名等。

方法(Methods):

方法名使用混合拼写法。最好使用动词、动词短语来描述这个方法是做什么的:

void calculateTax() String getSurname()

变量(Variables):

变量名需用混合拼写法。变量名应该反映出变量的值所代表的意义:

String firstName int orderNumber
只有当变量生命周期很短时,才可以使用很短的名字,如for循环中:

for (int i=0; i<20;i++) {    //i only lives in here }

常量(Constants):

常量用大写拼写法命名。如下:

static final int DEFAULT_WIDTH static final int MAX_HEIGHT



在译文最后提一下 “匈牙利拼写法” ,在上文中提到的阮老师那篇文章中也对此进行了简要介绍。匈牙利拼写法,即变量中每个单词的首字母都大写,然后变量名的最前面再加一个小写字母,表示这个单词的数据类型。常见的类型如下:

  • m for members
  • c for constants/readonlys
  • p for pointer (and pp for pointer to pointer)
  • v for volatile
  • s for static
  • i  for indexes and iterators
  • e for events

此外,各大公司也有自家的编程规范,如GoogleMozilla等,此处推荐Google的编程规范(所给Google的链接中包含多种语言的编程规范)。


原文地址:http://java.about.com/od/javasyntax/a/nameconventions.htm

参考资料:

http://www.ruanyifeng.com/blog/2007/06/camelcase.html

http://programmers.stackexchange.com/questions/177184/naming-convention-field-starting-with-m-or-s

https://github.com/google/styleguide

https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style

0 0
原创粉丝点击