JAVA命名规范

驼峰法则:

将所有字母都小写(包括缩写),然后将单词的第一个字母大写。

每个单词的第一个字母都大写,来得到大驼峰命名

除了第一个单词,每个单词的第一个字母都大写,来得到(小)驼峰命名

为避免歧义,文中小驼峰法统称为驼峰法,大驼峰/帕斯卡法统称为大驼峰法则。

1. Package

项目包命名规则:<域名反转>.<团队名>.<项目名>。相关项目可使用<域名反转>.<团队名>.<父项目名>.<子项目名>的命名法则。

命名必须全部使用英文小写字母,禁止使用“下划线”等字符。(除常量外,Java命名习惯中均不推荐使用下划线等字符

示例:

com.cnblogs.niceboat.soyteam.anticorruptionsystem

2. Class/Object、Interface

类和接口使用大驼峰命名

抽象类使用“Abstract”做为类命名的开头

Exception类命名使用“Exception”做为类命名的结尾

Test类使用“Test”做为类命名的结尾

在面向接口编程中,接口的实现类的命名规则为:<接口名>+"Impl"。禁止使用匈牙利命名法。

示例(正确):

接口

实现类

iHandsomeProvider

HandsomeProviderImpl

匈牙利命名法(不推荐):

接口

实现类

IHandsomeProvider

HandsomeProvider

3. Method/Function

方法的命名使用驼峰法,一般使用动词或动词+名词组合。

设置/获取某个值的方法,命名为setV/getV

返回长度的方法,命名为length

判断布尔值的方法,命名为isV

将对象转换为某个特定类型的方法应该命名为toT

示例:

getSecretStage()
length()
isEmpty()
toSpecialFormat()

4. Variable

变量的命名使用驼峰法

示例:

OpenId

常量命名使用大写字母并用下划线分割

示例:

MAX_SUITABLE_SIZE

关于驼峰法则的具体命名规范(尤其是涉及到单词缩写),参见此表:

原文 驼峰法则 大驼峰法则 不推荐
XML HTTP request xmlHttpRequest XmlHttpRequest XMLHTTPRequest
new customer ID newCustomerId NewCustomerId newCustomerID
inner stopwatch innerStopwatch InnerStopwatch innerStopWatch
support IPv6 on iOS supportIpv6OnIos SupportIpv6OnIos supportIPv6OniOS
Anglo-Saxon England angloSaxonEngland AngloSaxonEngland Anglo-SaxonEngland

[规则原则定理]规则原则定理章3Java命名规范的更多相关文章

  1. 第四章 android 命名规范和编码规范

    书里面讲的比较常见,单个人也是有不同的观点: 因为android绝大部分使用java开发的,因此java相关规范适用于android: Google Style: 英文地址:http://google ...

  2. JAVA之旅(九)——Object类,equals,toString,getClass,内部类访问规则,静态内部类,内部类原则,匿名内部类

    JAVA之旅(九)--Object类,equals,toString,getClass,内部类访问规则,静态内部类,内部类原则,匿名内部类 天天被一些琐事骚扰,学习还得继续 一.Object类 Obj ...

  3. 《Drools7.0.0.Final规则引擎教程》第3章 3.1 Hello World 实例

    3.1 Hello World 实例 在上一章中介绍了Drools5x版本中规则引擎使用的实例,很明显在Drools7中KnowledgeBase类已经标注为"@Deprecated&quo ...

  4. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 ruleflow-group&salience

    转载至:https://blog.csdn.net/wo541075754/article/details/75299888 ruleflow-group 在使用规则流的时候要用到ruleflow-g ...

  5. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.2 lock-on-active

    转载至:https://blog.csdn.net/wo541075754/article/details/75208955 lock-on-active 当在规则上使用ruleflow-group属 ...

  6. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.1 规则文件

    转载至:https://blog.csdn.net/wo541075754/article/details/75150267 一个标准的规则文件的格式为已“.drl”结尾的文本文件,因此可以通过记事本 ...

  7. 《Drools7.0.0.Final规则引擎教程》第4章 4.2 ruleflow-group&salience

    ruleflow-group 在使用规则流的时候要用到ruleflow-group属性,该属性的值为一个字符串,作用是将规则划分为一个个的组,然后在规则流当中通过使用ruleflow-group属性的 ...

  8. 《Drools7.0.0.Final规则引擎教程》第4章 4.2 lock-on-active

    lock-on-active 当在规则上使用ruleflow-group属性或agenda-group属性的时候,将lock-on-active 属性的值设置为true,可避免因某些Fact对象被修改 ...

  9. 《Drools7.0.0.Final规则引擎教程》第4章 4.1 规则文件

    一个标准的规则文件的格式为已".drl"结尾的文本文件,因此可以通过记事本工具进行编辑.规则放置于规则文件当中,一个规则文件可以放置多条规则.在规则文件当中也可以存放用户自定义的函 ...

随机推荐

  1. 05_ssm基础(三)之Spring基础

    11.spring入门引导 12.spring_HelloWord程序 实现步骤: 0.找到spring压缩包,并解压 1.拷贝jar包 2.添加主配置文件(官方文档约28页) 3.在测试中使用 13 ...

  2. JDK各个版本比较 JDK5~JDK10

    JDK1.5新特性: 1.自动装箱与拆箱: 2.枚举 3.静态导入,如:import staticjava.lang.System.out 4.可变参数(Varargs) 5.内省(Introspec ...

  3. PO ITEM_BOM_工艺路线SQL

    ---物料主数据接口 SELECT count(*)PO_MARA FROM STG.PO_MARA; SELECT count(*)PO_MARC FROM STG.PO_MARC; SELECT ...

  4. python学习day9 字符编码和文件处理

    1.字符编码 x='上' #unicode的二进制--------->编码-------->gbk格式的二进制 res=x.encode('gbk') #bytes 字节类型 print( ...

  5. 【Spider】使用CrawlSpider进行爬虫时,无法爬取数据,运行后很快结束,但没有报错

    在学习<python爬虫开发与项目实践>的时候有一个关于CrawlSpider的例子,当我在运行时发现,没有爬取到任何数据,以下是我敲的源代码:import scrapyfrom UseS ...

  6. Bar-Code-Recognition-System Private

    本设计研究EAN13条形码识别的译码技术,在基于机器视觉技术上,构建了一套条形码在线检测识别系统,系统将由以下几个部分构成:条形码图像定位与采集.计算机图像预处理.条形码图像中值滤波去噪.条码解析与识 ...

  7. UVa 10129 Play on Words(有向图欧拉路径)

    Some of the secret doors contain a very interesting word puzzle. The team of archaeologists has to s ...

  8. c#发送短信

    短息计费平台:http://sms.webchinese.cn/User/?action=key 代码: using System;using System.Collections.Generic;u ...

  9. YII2中日志的配置与使用

    YII2中给我们提供了非常方便的日志组件,只需要简单配置一下就可以使用. 我们在config/web.php中配置如下: return [ //log必须在bootstrap期间就被加载,便于及时调度 ...

  10. bootstrap日历控件

    bootstrap的日历控件: <link href="~/bootstrap/css/bootstrap.min.css" rel="stylesheet&quo ...