username是什么意思英语(1. 包命名规范)

本文将从大到小,从外到内总结Java编程中的命名约定。本文将涉及日常工作中常见的命名实例,如包命名、类命名、接口命名、方法命名、变量命名、常规类命名、抽象类命名、异常类命名、扩展类命名等。我将按照项目目录结构从包、类(接口、抽象类、异常类)、方法、变量、常量的顺序来介绍。

1. 包命名规范

包的作用是将功能相似或相关的类或接口分组管理,便于类的定位和查找。同时,还可以使用包来避免类名冲突和访问控制,这使得代码更容易维护。通常,包用小写英文字母命名,并除以“.”,并且每个划分的单元只能包含一个名词。

一般包命名通常使用顶级域名作为前缀,如com、net、org、edu、gov、cn、io等。,后面是公司/组织/个人名称和功能模块名称。以下是包命名的一些示例:

package org . spring framework . boot . auto configure . cloud
package org . spring framework . boot . util
package org . hibernate . action
package com . Alibaba . druid
package com . Alibaba . druid . filter
package com . Alibaba . nacos . client . config
package com . ramostar . blog . web以下是

包Java . beans
包Java . io
包Java . lang
包Java . net
包Java . util
包javax.annotation 2 .类命名规范类通常由首字母大写的名词命名。如果一个类名包含两个以上的名词,建议用Camel-Case法写类名,每个名词的首字母也要大写。一般来说,类名的写法应该尽量简单,描述性强,所以不建议在写类名的时候使用缩写(一些习惯性的命名除外)。

比如国际化和本地化缩写为i18n,统一资源标识符为URI,数据访问对象为DAO,JSON Web Token为JWT,超文本标记语言为HTML等。).以下是一些常见的类命名示例:

公共类userdo {

}
类EmployeeService {

}
类student Dao {

}
类orderitem entity {

}
公共类userservice impl {

}
公共类orderitem controller {
[]

公共类HTMLEditorKit {

}
公共抽象类HttpContext {

}
公共接口image observer {

}
Public ArrayIndexoutofBoundsException {
}
公共类enum thread . state {
}

首先,接口是一个特殊的类,表示某一类对象的动作。简单来说,接口也是一个类(不那么严谨),所以接口名称的写法也要符合类名的规范,首字母要大写。与普通的类名不同,在命名接口时,通常使用形容词或动词来描述接口的动作。下面是Oracle Java中一些标准库用形容词命名接口的例子:

公共接口可关闭{

}
公共接口可克隆{

}
公共接口可运行{

}
公共接口可比较& ltT & gt{

}
公共接口CompletionService & ltV & gt{

}
公共接口Iterable & ltT & gt{

}
公共接口事件侦听器{

}在Spring Framework标准库中,接口通常由名词+动词/形容词的组合来命名。以下是Spring框架中接口命名的一些例子:

公共接口after advice {[/Br/][/Br/]}[/Br/]公共接口targetclass aware {[/Br/][/Br/]}[/Br/]公共接口ApplicationContextAware {[/Br/][/Br/]}[/Br/]公共接口messagesourceresolvable {[/Br/][/Br/]}2.2抽象类命名规范

抽象类是一个特殊的类,它的命名等同于普通类。一般为了区分抽象类和普通类、接口,提高抽象类的可读性,在命名抽象类时会使用“abstract”/“base”作为类名的前缀。以下是编程中的一些通用命名示例:

公共抽象类AbstractRepository & ltT & gt{

}
公共抽象类abstract controller {

}
公共抽象类BaseDao & ltt,ID & gt{

}
公共抽象类AbstractCommonService & ltT & gt{

}以下是Spring框架中抽象类的常见示例:

公共抽象类AbstractAspectJAdvice {

}
公共抽象类AbstractSingletonProxyFactoryBean {

}
公共抽象类abstractbeanforypointcutadvisor {

}
公共抽象类AbstractCachingConfiguration {

}
公共抽象类abstract contextload initializer {
]

异常类也是类的一种,但与普通的类命名不同,异常类需要使用“Exception”作为后缀。以下是异常类命名的常见示例:

公共类FileNotFoundException {

}
公共类useraldeyexistexception {

}
公共类transaction Exception {

}
公共类ClassNotFoundException {

}
公共类IllegalArgumentException {
}
这类异常类的名称以“Error”为后缀,以区别异常(代码、环境、操作等异常)。以下是命名系统异常(非检查异常)的示例:

公共抽象类VirtualMachineError {

}
公共类stackoverflowererror {

}
公共类out of memory error {

}
公共类IllegalAccessError {

}
公共类NoClassDefFoundError {

}
方法的命名法

命名一个方法时,它的首字母应该是小写的。如果方法签名由多个单词组成,则应该从第二个单词开始用驼峰命名来编写。一般在命名方法时,通常使用动词/动词+名词的组合。下面是一些常见的方法命名示例。

3.1表达式获取

如果使用一个方法来获取某个值,通常会以“get”为前缀,例如:

public String get username {

}
public List & lt;整数& gtGetids {

}
公共用户getone {

} 3.2表达式查询

如果一个方法需要通过查询或过滤来获取一些数据,通常使用“find”/“query”作为前缀,例如:

公共列表& lt用户& gtfindOne(Integer id){

}
public List & lt;整数& gtfind all {

}
公共分发名单& lt字符串& gt查询订单{

} 3.3表达式条件

如果一个方法需要一些条件参数,可以在方法名中使用“by”/“with”等字符作为条件的连接符,例如:

public User findby username(String username){

}
public List & lt;整数& gtgetUserIdsWithState(boolean state){

}
public List & lt;用户& gtDallbyusernameorderbyiddesc(字符串用户名){

} 3.4演示设置

如果一个方法是设置、插入、修改、删除等。,它应该用相应的动词(set、insert、update、delete)作为其名词的前缀,例如:

Public void set name(String name){

}
Public User insert(User User){

}

}
Public void clear all {

}3.5其他规范

如果用一种方法获得一组数据的长度或数量,则应以长度或大小命名;如果方法的返回值是Boolean,则该方法应带有前缀“is”或“has”;

如果使用方法将一种数据类型转换为另一种数据数字类型,可以使用“to”作为前缀。下面是一个综合的例子:

public long length {

}
public intsize {

}
public booleanisNotEmpty {


}
]public booleanhasLength {

}
public Set & lt;整数& gtmapet(mapmap){

}
public userd to convert to(user user user){

}
public string to string(object obj){

变量命名包括参数名、成员变量和局部变量。变量命名通常以小写字母开头。如果变量名由多个单词组成,第一个字母应该从第二个单词开始大写。在变量命名过程中,不建议使用“_”作为前缀或单词间的分隔符。以下是一些常见的变量命名示例:

私有字符串昵称;
私有字符串mobileNumber
私有长id;
私有字符串用户名;
private Long orderId;
private Long order itemid;5.常数命名法

一般常量的名字都是用大写的英文单词写的。如果常量的名称由多个单词组成,则这些单词会被“_”统一分开。以下是常量命名的一个示例:

public static final String log in _ USER _ SESSION _ KEY = " current _ log in _ USER ";
public static final int MAX _ AGE _ VALUE = 120;
public static final int DEFAULT _ PAGE _ NO = 1;
public static final long MAX _ PAGE _ SIZE = 1000;
public static final boolean HAS _ LICENSE = false;
public static final布尔值IS _ CHECKED = false6。枚举命名规范枚举(Enum)类是一个特殊的类,其命名规范遵循普通类的命名约束,首字母大写,采用驼峰命名法;枚举类中定义的值的名称遵循常量的命名约定,枚举值的名称需要在一定程度上与类名相关。以下是一些列举的例子:

公共枚举颜色{
红色、黄色、蓝色、绿色、白色。
}
public enum physical size {
TINY,SMALL,MEDIUM,LARGE,GIGANTIC。
}以下是Oracle Java标准库的一个示例:

public enum element TYPE {
TYPE,
字段,
方法,
参数,
构造函数,
LOCAL_VARIABLE,
ANNOTATION_TYPE,
PACKAGE,
TYPE_PARAMETER,
TYPE _ USE;
}7。其他命名约定7.1阵列

定义数组时,为了便于阅读,尽量保持以下编写规范:

int array = new int[10];
int idArray ={1,2,3,4,5 };
String nameArray = {"First "、" Yellow "、" Big " }

public List & lt;字符串& gtgetname byid(Integer[]ids){

}

public List & lt;字符串& gtGetbyid(整数...ids) {

} 7.2表示复数或集合

如果用一个变量来描述多条数据,尽量用复数形式来写,比如:

收藏& lt订单& gt订单;
int值;
List & lt;Item & gt物品;另外,如果你表达一个地图数据,你应该用“Map”作为它的后缀,例如:

地图& lt字符串,用户& gt用户地图;
Map & lt;字符串,列表& ltObject & gt& gtlistMap7.3通用类

编写泛型类时,通常要遵循以下约定:

  • 表示通常在集合中使用的元素。

  • ID是用于表示对象的唯一标识符类型。

    username是什么意思

    t代表类型,通常指类;

    k代表Key,通常在Map中使用;

    v代表值,通常在Map中使用,与k成对出现;

    n代表数字,通常用来表示数值型;

    ?表示不确定的Java类型;

    x用于表示异常;

    u代表任何类型。

    下面是泛型类的编写示例:

    公共类HashSet & ltE & gt扩展AbstractSet & ltE & gt{

    }
    public class HashMap & lt;k,V & gt扩展AbstractMap & ltk,V & gt{

    }
    公共类ThreadLocal & ltT & gt{

    }
    公共接口函子& ltt,X扩展Throwable & gt{
    T val抛出X;
    }
    公共类容器& ltk,V & gt{
    私钥;
    私V值;
    Container(K key,V value){
    this . key = key;
    this . value = value;
    }

    }


    公共接口基本存储库& ltt,ID & gt{
    T find byid(ID ID);

    void update(T T);

    List & lt;T & gtfindByIds(ID...ids);
    }

    公共静态& ltT & gt列表& ltT & gtmethod name(Class & lt;T & gtclz){
    List & lt;T & gtdataList = getByClz(clz);
    返回dataList
    }7.4接口实现类

    为方便阅读,一般情况下,建议接口实现类使用“impl作为后缀”,但不建议使用大写的“I”作为接口前缀。下面是一个接口和接口实现类的编写示例。

    推荐写作:

    公共接口orderservice {

    }
    公共类orderserviceimpl实现orderservice {

    }不推荐:

    公共接口iorder服务{

    }
    公共类订单服务实现iorder服务{

    } 7.5测试类和测试方法

    项目中,测试类采用待测业务模块名称/待测接口/待测类+“test”的方法编写,测试类中的测试函数采用“test”+用例operation _ state的组合编写,例如:

    public类UserServiceTest {

    Public voidtestfindbysusernameandpassword {

    }
    Public voidtestUsernameExist _ notExist {

    }

    Public Voidtedtdeletebyid _ isok {

    }8扩展:速记Java开发中的各种O

    最后通过一个表格和图表,快速梳理出Java中Bo、DTO、Dao、PO、POJO、VO的含义、区别和联系。

    名称
    老兄

    用于命名服务、经理、业务等与业务相关的类。

    业务处理对象,主要功能是将业务逻辑封装成一个对象。

    数据传输对象

    经过处理后,采购订单对象的内部属性可能会增加或减少。

    数据传输对象数据传输对象主要用在需要传输大量数据的地方,比如远程调用。例如,一个或多个PO类的一些或所有属性可以封装成DTO进行传输。

    数据访问对象(Data Access Object)

    命名用于读写数据库的类。

    数据访问对象数据访问对象主要用于封装对数据库的访问。POJO可以通过DAO持久化到PO中,VO和DTO也可以被PO封装。

    Bean、实体和其他类的命名

    持久对象持久对象,Java对象中数据库表中数据的映射状态,可以简单理解为PO对象是数据库表中的一条记录。

    波乔

    POJO是DO/DTO/BO/VO的通称。

    普通Java对象是一个简单的Java对象,是一个简单的普通Java对象。禁止将类命名为XxxxPOJO。

    维多利亚皇家勋章

    它通常是在视图控制层和模板引擎之间传递的数据对象。

    值对象主要用于视图层。视图控制器将视图层需要的属性封装到一个对象中,然后用一个VO对象进行视图控制器和视图之间的数据传输。

    澳大利亚二等勋衔军官

    应用层对象

    应用程序是介于Web层和服务层之间的抽象可重用对象模型,很少使用。

    使用范围
    解释
    以下是理解上述O之间相互转换关系的图表:



    链接:www.ramostear.com/blog/2020/03/20/2vxdaqjq.html

    #提交渠道#

    让更多的人看到你的博客

    如果你有在CSDN、博客园、掘金等平台写技术博客的习惯,想让自己的原创博客被更多人看到,可以贡献给Java后端。

    Java backend鼓励读者提交个人技术博客、采访经验和教程。无论是入门的图文教程,还是通俗的技术讲解,只要你喜欢写作,欢迎投稿。

    稿件的基本要求:

    文章真的是个人原创作品,可以在其他非微信官方账号渠道发布,只要是个人原创。

    建议稿件采用markdown格式,文中图片作为附件发送,要求图片清晰,语句通顺。

    如果采用原稿件,我们会提供稿费和个人影响力曝光,根据文章阅读量和质量结算稿费。

    提交渠道:

    投稿请联系下方微信。注:提交原件。

    △长按添加Java后端边肖

    您可以还会对下面的文章感兴趣

    使用微信扫描二维码后

    点击右上角发送给好友