我对 Java 标识符的分类命名方法

时间:2023-01-04 01:00:59

我对 Java 的各种标识符有一套固定的分类方法,以下分享一下我的命名方法以及进行一些说明。

# 前缀:

方法

方法:f_doSomeThing()。分类词是 f,采自 [f]unction 方法,也表示中文方法的发音。

控件方法:fw_onClick()。分类词是 fw,结合方法与采自 [w]idget 控件。

属性方法:r_name()。分类词是 r,采自 p[r]operty 属性,也表示 [r]ead 读 & w[r]ite 写。这里值得说明的是,利用 Java 的重载功能,再加上获取基本属性数据通常是无参数的特点,把各种形式的 setName() 和 getName() 都整合成了 r_name()。唯一的缺点是,当需要输入参数来获取数据的属性时,这种方法就行不通了,但是可以避免这种情况。毕竟,在取代原始数据类型的角度上来看并没有缺少功能。

异步方法:fa_Load。分类词是 fa,采自 [a]sync 异步,也表示 [a]wait 等待。

字段

字段:e_field。分类词是 e,采自 fi[e]ld 字段、m[e]mber 成员。

属性字段:d_field。分类词是 e,采自 fiel[d] 字段、[d]ata 数据。表示属性的核心数据。

UI组件字段:w_button。分类词是 w,表示 [w]idget。

参数

参数:p_params。分类词是 p,采自 [p]arams 参数, 也表示 [p]ass 传递、[p]ortal 传送门。用于与临时变量以及字段进行区别。

循环参数:o_abcd。分类词是 o,采自 iterat[o]r 迭代器,也表示像 o 圆一样遍历迭代。

临时

临时、本地变量: _variant。仅使用下划线_。主要目的是与语言系统的关键字做区别。

数组

列表:_l。分类词是 l,采自 [l]ist 列表。例如 f_l_number 代表一个方法返回一个数组类型的变量。

数组:_a。分类词是 [a]rray。多个列表、数组则使用 _la 之类的表示。

普通类:c_className。分类词是 c,采自 [c]lass 类。

异步类:ca_className。分类词是 ca,采自 [a]sync 异步。

接口类: ci_interface。分类词是 ci,采自 [i]nterface 接口。

异常类:cx_exception。分类词是 ce,采自 e[x]ception 异常,也表示 x 出错。

# 后缀:

静态:_s。分类词是 s,采自 [s]tatic 静止的,也表示 [s]tay 停留的、[s]till  始终存在。

常量:_n。分类词是 n,采自 fi[n]al 最终的,也表示 co[n]st 常量、[n]oEdit 不可修改。

扩展:如果使用 Anrdoid Studio 或 Intellij IDEA,可以部分设置常用的前缀和后缀,也是十分方便。设置方式:File - Settings - Editor - Code Style - Java - Code Generation - Prefer longer names 。

# 文件:

包:a_packName。分类词是 a,采自 [a]ssembly 集合。防止包的命名与关键字冲突。

公用包:a_public。公用包的类也以 c_public_className 的形式命名。

专用包:a_private。

窗口包:a_window。其中的类也以 c_window 或 c_controller 的形式命名。