0
点赞
收藏
分享

微信扫一扫

Java命名规范

那小那小 2022-05-05 阅读 103
java

Java命名规范

Java命名规范

1.包命名规范

  • 包(Package)的作用是将功能相似或相关的类或者接口进行分组管理,便于类的定位和查找,同时也可以使用包来避免类名的冲突和访问控制,使代码更容易维护。通常,包命使用小写英文字母进行命名,并使用“.”进行分割,每个被分割的单元只能包含一个名词。 一般地,包命名常采用顶级域名作为前缀,例如com,net,org,edu,gov,cn,io等,随后紧跟公司_组织_个人名称以及功能模块名称。
package org.springframework.boot.autoconfigure.cloud
package org.springframework.boot.util
package org.hibernate.action
package org.hibernate.cfg
package com.alibaba.druid
package com.alibaba.druid.filter
package com.alibaba.nacos.client.config
package com.ramostear.blog.web

2.类命名规范

  • 类(Class)通常采用名词进行命名,且首字母大写,如果一个类名包含两个以上名词,建议使用驼峰命名(Camel-Case)法书写类名,每个名词首字母也应该大写。一般地,类名的书写尽量使其保持简单和描述的完整性,因此在书写类名时不建议使用缩写一些约定俗成的命名除外。
public class UserDTO{

}
class EmployeeService{

}
class StudentDAO{

}
class OrderItemEntity{

}
public class UserServiceImpl{

}
public class OrderItemController{

}

2.1接口命名规范

  • 首先,接口(Interface)是一种表述某一类型对象动作的特殊类;简单来说,接口也是类(不太严谨),所以,接口的名称的书写也应该符合类名书写规范,首字母应该大写,与普通类名不同的是,接口命名时通常采用形容词或动词来描述接口的动作行为。
public interface Closeable{

}
public interface Cloneable{

}
public interface Runnable{

}
public interface Comparable<T>{

}
public interface CompletionService<V>{

}
public interface Iterable<T>{

}
public interface EventListener{

}

2.2抽象类命名规范

  • 抽象类(Abstract Class)是一种特殊的类,其命名与普通类的命名规范相当。一般地,为了将抽象类与普通类和接口做出区别,提高抽象类的可读性,在命名抽象类时,会以“Abstract”/“Base”作为类命的前缀。
public abstract class AbstractRepository<T>{

}
public abstract class AbstractController{

}
public abstract class BaseDao<T,ID>{

}
public abstract class AbstractCommonService<T>{

}

2.3异常类命名规范

  • 异常类(Exception Class)也是类的一种,但与普通类命名不同的是,异常类在命名时需要使用“Exception”作为其后缀。另外,在Java中还有另外一类异常类,它们属于系统异常,这一类异常类的命名使用“Error”作为其后缀,以区分Exception(编码,环境,操作等异常)。
public class FileNotFoundException{

}
public class UserAlreadyExistException{

}
public class TransactionException{

}
public class ClassNotFoundException{

}
public class IllegalArgumentException{

}
public class IndexOutOfBoundsException{

}

3.方法命名规范

  • 方法(Method)命名时,其首字母应该小写,如果方法签名由多个单词组成,则从第二个单词起,使用驼峰命名法进行书写。一般地,在对方法进行命名时,通常采用动词/动词+名词的组合
  • 表述获取:get…;表述查询:find…;表述条件:如果一个方法需要一些条件参数,则可以使用**“by/with”等字符作为方法名中条件等连接符; 表述设置:应该将对应的动词(set,insert,update,delete)作为其名次的前缀**。
  • 其他:如果一个方法用于获取某组数据的长度或数量,则该方法应该使用length或size命名;如果方法的返回值为布尔类型(Boolean),则该方法应该使用“is”或”has”作为前缀

4.变量命名规范

  • 变量(Variable)命名包括参数名称,成员变量和局部变量。变量命名通常以小写字母开头,如果变量名由多个单词构成,则从第二个单词起首字母需要大写,在变量命名过程中,不建议使用“_”作为前缀或者单词之间的分割符号。

5.常量命名规范

  • 一般地,常量名称采用全部大写的英文单词书写,如果常量名称由多个单词组成,则单词之间统一使用“_”进行分割。

测试类和测试方法

  • 在项目中,测试类采用被测试业务模块名_被测试接口_被测试类+“Test”的方法进行书写,测试类中的测试函数采用“test”+用例操作_状态的组合方式进行书写
public class UserServiceTest{

    public void testFindByUsernameAndPassword(){

    }

    public void testUsernameExist_notExist(){

    }

    public void testDeleteById_isOk(){

    }
}
举报

相关推荐

0 条评论