驼峰命名法【规约与实践】

对于像笔者这样的初学者而言。在程序开发的过程中,对于方法、属性、类的命名,往往是一种困扰。

我们希望自己的命名方式简单易理解,同时也希望这种方式能够与整个行业所接轨。

对于Java开发而言,一种广泛使用的命名方式能够满足这些需求。这就是驼峰命名法(Camel Case)

在学习过程中,想必大家也不止一次听过这个名词。然而怎样的代码才符合驼峰命名,可能部分同学就知之甚少了。

笔者也曾困扰于这个问题,所以想通过本文,简单的介绍一下驼峰命名法。既是作为备忘,也希望能为一些还在为编码规则困扰的同学带来帮助。

 

命名规约

包名应为名词或名词性短语,全为小写

【扩展】包名统一使用单数形式。

类名为名词或名词性短语,各单词首字母大写(XmlService)

【扩展】抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类名开始,以Test结尾。

接口命名规则同类名命名规则

【扩展】对于Service和DAO类,基于SOA的理念,暴露出来的服务一定是接口,内部的实现类用Impl后缀与接口区别。

【扩展】如果是形容能力的接口名称,取对应的形容词为接口名(通常是-able的形式)。

方法名应为动词或动宾短语,首字小写,其余各单词首字母大写(getHttpMessage)

设置或读取属性的getter/setter方法,命名为getXxx()/setXxx(),其中Xxx为属性名词,首字母大写

成员变量名应为名词或名词性短语,首字母小写,其余单词首字母大写(inputUserid)

常量名全部大写,为名词或名词性短语,多个单词之间采用“_”分隔(CACHE_EXPIRED_TIME)

 

代码实践

根据以上规则,这里给出笔者的对于以上规约的一个代码实现。

/*
   包名:应为名词或名词性短语,全部小写
   一般为公司网址倒写
   如:com.公司名.项目名.模块名.子模块名 ........
*/
package com.company.module.submodule;

/**
 * @Author: Eric Wang
 * @Time: 2019-05-17 15:25
 * @Content: 驼峰命名法实践
 * */
//类名、接口名:应为名词或名词性短语,各单词首字母大写
public class CamelCase implements DemoInterface{
    
   //变量名:应为名词或名词性短语,首字母小写,其余单词首字母大写
    private String stuName;
    private String stuPwd;
    
    //常量名:应为名词或名词性短语,全部大写,多个单词间以“_”分隔
    private int MIN_AGE = 0;
    private int MAX_AGE = 100;

    //方法名:应为动词或动宾短语,首字母小写,其余首字母大写
    public void printStuInfo(){
         System.out.println("My name is"+this.stuName);
    }

    //设置或读取属性的get/set方法:命名为setXxx()或getXxx()
    //其中Xxx为首字母大写的对应属性名
    public void setStuName(String stuName){
        this.stuName = stuName;
    }
    public String getStuName(){
        return this.stuName;
    }

    public void printMaxLiveAge(){
          //运算符与运算数之间要用空格间隔
          int maxLiveAge = MAX_AGE - MIN_AGE; 
          System.out.println("The MaxLiveAge is: " + maxLiveAge);
    }

}

 

其它规约

一些其他的编码规约如下。这些规约都遵循《阿里巴巴Java开发手册》。

代码缩进采用4个空格缩进,禁止使用Tab制表符

大括号使用约定。若大括号内为空,则简洁的写成{ }即可;如果是非空代码块,则:

  • 左大括号不换行
  • 左大括号后换行
  • 右大括号前换行
  • 右大括号后还有else等代码则不换行;表示终止的右大括号必须换行

左、右小括号和字符间不出现空格

if / for / while / switch / do 等保留字与括号之间都必须加空格

任何二目、三目运算符的左右两边都必须加一个空格

... ...

 

以上内容是笔者在学习过程中对于编码规范的心得。

每个编码者都有自己的习惯,这些习惯并无好坏之说,但是一种强制的规约,能够保证整个项目中的各部分代码高度的兼容性和规范程度。能够避免因为编码规范不同产生无谓的分歧,以及对精力的无端消耗。

以上内容,挂一漏万。如有缺漏,欢迎大家指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值