`
sinokaka
  • 浏览: 326428 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

命名原则(1)

    博客分类:
  • java
阅读更多

9 使用有意义的名字

当命名一个类,变量,方法,常量的时候,它们是什么,就用什么名字,这样对于将要阅读你程序的人来说,非常有意义。选择一个有意义的词汇,避免使用单字符或者一般的词汇来定义。

在下面的例子中,变量a和常量65是非常的含糊不清的

if (a < 65) {

    y = 65 - a;

} else {

    y = 0;

}

当使用一个有意义的名字后,变得非常容易理解

if (age < RETIREMNT_AGE) {

    yearsToRetirement = RETIREMNT_AGE - age;

} else {

    yearsToRetirement = 0;

}

但是当这个变量可以充分解释目的的时候,就可以忽略这个原则,比如像一个循环中的常量

for (int i =0; i < numberOfStudents; i++ ) {

    enrollStudent(i);

}

一些变量用得非常多,已经成为标准,具体参照规则28

 

10 使用熟悉的名称

使用一个相对于目标领域熟悉的名称。如果你的客户对于clients的理解是customers,那么用Cstomer来定义这个类,而不是Clinet。使用对你目标领域来说有意义的,熟悉的名称,而不是你熟悉的名称。

 

11 质疑现存的长名字

一个对象的名称应该描述的是它的目的。如果一个类,接口,变量或者方法拥有一个过分长的名称的话,那么这个实体可能试图完成太多,也就是超出它的能力范围。

用一个简单的名字来给于一个实体较少的功能,能力,首先需要确定这个实体的设计和目的是什么。可能需要重构一个实体,也许会产生出新的类,接口,方法或者变量来使方法聚焦在自己所应该做的,和符合这个简单名字的意义。

 

12 用元音字母连接

缩写降低代码的可读性和增加更多的含糊不清。不要尝试去除元音字母去减少名称的长度。

下面的例子,读者可以很清晰的明白

public Message appendSignature(Message message,String signature){

    ...

}

而如果缩短了名字就会增加了理解的难度

public Msg appndSgntr(Msg msg,String sgntr) {

   

}

如果你去除元音字母,只是为了简短长名称的话,那么你需要问问自己,改变后是否和原来的意义相同或者接近呢。

 

13 只大写每个单词的首字母

这个规则是为了用大写来分割单词,减少迷惑。它对于一个单词接着一个单词来说非常有意义。

setDSTOffset()                                setDstOffset()

loadXMLDocument()                      loadXmlDocument()

 

该原则不适用于

常量只能拥有大写字母

static final String XML_DOCUMENT = “text/XML”;

每个方法,变量,参数的名字的首字母必须是大写。

Private Document xmlDocument;

 

14 不要使名字仅仅是语法不同

Java的编译器可以区分出语法的不同,可是人却很难注意到不同之处。

比如,一个变量命名为theSQLInputStream,那么就不要再同样的范围内出现这样的变量theSqlInputStream.如果这样的名称出现在同一范围内的话,那么会给后来阅读代码的带来很多不必要的迷惑和麻烦。

 

包命名

15 使用反转的,小写的你的域名作为包的节点名称。

任何的发布包都需要把域名小写,并且反转来命名。例如,如果一个公司名称为Bpu Soft。Internet域名为www.bpusoft.com。发布的应用程序的包为server,那么Bpu soft就要给包命名为com.bpusoft.server

 

16 使用单一的,小写的单词作为每个包的名称

一个好的,或者说合适的包的名称应该是由单一,小写的,并且清晰表达目的的,并且有用的单词构成。一个包的名字应该有意义的缩写。比如标准java包的名字java.io 和java.net.

 

17 只要当新的版本,与原来的版本兼容的时候,才可以使用相同的包名称,否则的话,新命名一个。

这个目的是为了保证两个相同名称的包的行为要是彼此兼容的。如果你有一个新的版本与原来的不兼容的话,你应该改变你的包的名称。不过有一个安全的简单的方法就是在每一个包的后面加上版本号

com.bpusoft.server.v1;

com.bpusoft.server.v2;

 

类型命名

18类或接口的每个单词的第一个字母大写

每个字母大写是为了分割每个单词,第一个字母大写是为了与变量的不同。

public class PrintStream

              extends FilterOutputStream{

   

}

 

public interface ActionListener

              extends EventListener {

   

}

类命名

19 用名词定义类

类定义的是对象或者事物。所以需要用名词定义:

class CustomerAccount{

    ...

}

 

public abstract class KeyAdapter

              implements KeyListener {

    ...

}

 

20 使类的名字是一组有关联的属性,服务或者常量

类应该是由一组有协作的,相互关联的属性,服务或者常量定义的。

Java.awt.font.LineMetrics 类是一个管理者一组相关联的属性:

/**

* The LineMetrics class allows

* access to the* metrics needed to layout

* characters along a line and to layout

* of a set of lines. 

*/

abstract class LineMetrics {

    public abstract int getNumChars();

    public abstract float getAscent();

    public abstract float getDescent();

    public abstract float getLeading();

    public abstract float getHeight();

}

java.beans.Bean 类定义了一组相关联的服务

/**

 * This class provides some

 * general purpose beans

 * control methods.

 */

public class Beans {

    public static Object instantiate(...){...};

    public static Object getInstanceOf(...){...};

    public static boolean isInstanceOf(...){...};

    public static boolean isDesignTime(){...};

    ……………….

}

 

java.sql.Types是一个定义了一组常量的类

/**

 *

The class that defines the constants

 * that are used to identify generic

 * SQL types.

 */

public class Types {

    public final static int BIT                      =  -7;

              public final static int TINYINT      =  -6;

              public final static int SMALLINT   =   5;

              public final static int INTEGER    =   4;

              public final static int BIGINT                      =  -5;

              public final static int FLOAT                       =   6;

              public final static int REAL                         =   7;

              public final static int DOUBLE                    =   8;

              public final static int NUMERIC   =   2;

}

 

分享到:
评论

相关推荐

    TIPTOP命名原则和目录配置学习参考文献

    TIPTOP命名原则和目录配置是IT领域中一种常见的文件管理和组织规范,尤其在系统管理、项目管理和软件开发中有着广泛的应用。理解并遵循这样的原则能够帮助我们更好地组织和检索信息,提高工作效率,减少错误和混乱。...

    醛酮化合物2017命名原则.pdf

    2017年的命名原则是对国际纯粹与应用化学联合会(IUPAC)的命名规则进行的最新更新,这些规则为醛酮提供了一套标准化的系统化命名,确保了全球科学家之间的沟通准确无误。本文将详细阐述醛酮的命名原则,并探讨其在...

    大型门户站css样式命名和应用原则.rar

    一、CSS样式命名原则 1. **语义化命名**:遵循HTML元素的语义,如使用`header`、`footer`、`nav`、`section`等,使CSS选择器具有描述性。 2. **模块化命名**:采用BEM(Block Element Modifier)方法,即将样式...

    winForm控件命名规则

    #### 一、基本命名原则 1. **前缀**:每个控件名称应以一个简短的前缀开头,用于表示该控件的类型。 2. **描述性**:名称应尽可能具有描述性,以便于理解控件的功能或用途。 3. **一致性**:项目中的所有控件都应...

    div+css命名规范

    #### 二、命名原则 1. **简洁明了**:命名应该尽可能简洁,避免冗长。 2. **易于理解**:名称应直观反映元素的作用或含义。 3. **一致性**:在整个项目中保持一致的命名风格。 4. **区分度高**:避免使用容易混淆的...

    有机化合物命名原则_2014_5.1.pdf

    ### 有机化合物命名原则知识点详解 #### 一、有机化合物名称构词概要 1. **构词基本形式**:有机化合物的名称构建基于一系列规则,这些规则旨在确保每个化合物都有一个唯一且易于理解的名字。这包括使用特定的词汇...

    有机化合物命名的四大基本原则(1)文件.pdf

    有机化合物命名四大基本原则 有机化合物命名的四大基本原则是指在命名有机化合物时需要遵守的四个基本规则,它们分别是官能团次序规则、最长碳链原则、最低系列原则和取代基次序规则。 官能团次序规则是指在命名...

    android标识符命名法.docx

    #### 三、命名原则 1. **尽可能简洁而清晰**: 用最少的字符表达标识符的含义,同时保持足够的清晰度。 2. **避免冗余**: 如果上下文已清楚表明了变量的用途,避免重复描述。 3. **保持一致性**: 整个项目中应遵循...

    ERP系统信息化资料:1.开发环境命名原则.ppt

    ERP系统信息化资料:1.开发环境命名原则.ppt

    css命名规范(仅供参考)

    #### 二、基本命名原则 1. **简洁性**:命名应尽可能简短,避免冗余。 2. **一致性**:在整个项目中保持一致性的命名方式。 3. **描述性**:命名应清晰地反映元素的功能或作用。 4. **层次性**:根据元素的层级关系...

    MR开关命名原则介绍

    总结起来,MR开关的命名原则是通过一系列编码来表达其技术参数,包括开关的类型、额定电压、额定电流、操作机构类型、绝缘介质、以及物理尺寸等。理解这些命名规则对于电力行业的专业人员来说至关重要,因为它能快速...

    CSS命名规范

    #### CSS命名原则 1. **简洁性**:命名应简短明了,避免冗长。 2. **一致性**:项目内部应保持一致的命名习惯。 3. **可扩展性**:考虑未来可能的需求变更。 4. **语义化**:命名应具有一定的含义,便于理解和记忆...

    tiptop gp技术手册

    1. 系统命名原则指明如何给软件中的各个组件(如文件、程序、函数等)命名,以便于理解和维护。 2. 程序命名原则需保证程序名的准确性和唯一性,便于代码的管理和团队协作。 3. 共享程序命名原则、子程序命名原则、...

    根据医疗器械软件注册技术审查指导原则编写的软件版本命名规则

    本文主要探讨了医疗器械软件的版本命名规则,这一规则对于软件的追踪和质量管理至关重要。 首先,软件版本是软件状态的标识,是保证医疗器械软件可追溯性的关键。软件版本命名通常包括主版本号、子版本号、修正版本...

    二极管三极管命名原则

    在中国,二极管和三极管的命名方法遵循一套严谨的规则,旨在便于识别和分类不同的半导体器件。这个命名系统由五个部分组成,对于场效应器件、半导体特殊器件复合管、PIN型管以及激光器件,它们的型号命名则只包含...

    数据库命名规范(通用)

    一个良好的命名规范应该包括表、列、索引和其他数据库对象的命名原则。这些原则应遵循行业标准和最佳实践,同时考虑数据库平台的特性。下面详细阐述数据库命名规范的关键知识点: 1.1 基本命名原则 - 规范:遵循...

    《大岩岩石命名原则》PPT课件.ppt

    《大岩岩石命名原则》PPT课件.ppt

    有机化合物命名的四大基本原则(1).doc

    有机化合物命名的四大基本原则 有机化合物命名的四大基本原则是指在有机化合物命名时需要遵守的四个基本原则。这些原则是:官能团次序规则、最长碳链原则、最低系列原则和取代基次序规则。 官能团次序规则是指在...

    数据库设计规范

    #### 六、数据库命名原则 1. **基本原则**: - 表名、字段名意义明确,长度适中。 - 使用英文字符,避免中文命名。 - 字符之间不留空格。 - 保持字段名和类型的统一性。 2. **详细原则**: - **表名**:采用...

    中国联通网络资源命名规范

    接着,在文档的主要内容中,从命名原则、命名范围、命名字符集、命名格式约定等方面对网络资源的命名规则进行详细描述。 命名原则部分强调了统一性、唯一性、标准化和简洁性的重要性。在网络命名时需要考虑到其在...

Global site tag (gtag.js) - Google Analytics