java 方法规范_Java规范推荐
Java规范推荐#
命名规范
项目名:全部小写
Package 的命名:应该都是由一个小写单词组成
Class 的命名:首字母大写的驼峰式命名,即FirstName
变量和方法的命名:首字母小写的驼峰式命名,即firstName
当要区别接口类和实现类的时候,可以在类的后面加上“Impl”。
如:接口类:UserInterface.java 接口实现类:UserInterfaceImp
Static Final 常量的命名:大写下划线形式,即FIRST_NAME
在Spring Boot的配置文件application.yml或application.properties中,推荐:first-name
在数据库的列中,推荐:first_name
jsp,Velocity等页面采用小写的英文字符和”_ ”组成,整体采用模块名+操作的形式。如:user_view.jsp。
xml配置文件很多用_.xml的方式,但我看的项目却用mybatis-config.xml,所以暂时不统一。
名称只能由字母、数字、下划线、$符号组成,不要用拼音命名
应用系统中经常应用分层,Dao层(数据库访问)、Service层(业务处理)、Web层(页面控制action类),每一层的类的名称尽量带上该层后缀。
推荐实体类没有后缀名。
比如:
Dao层
a、接口类:采用JavaBean+Interface+Dao的形式来定义,即,实体对象+Interface+Dao。 如:用户对象接口类: UserInterfaceDao,其中xxx为模块名称。
b、实现类:采用JavaBean+Interface+Impl+Dao的形式来定义,即,实体对象 +Interface+Impl+Dao。 如:用户对象实现类:UserInterfaceImplDao
若没有Interface,则省略
Service层
a、接口类:采用Xxx+Interface+Service的形式来定义,即,模块+Interface+Service。 如:用户管理接口类:UserMsgInterfaceService
b、实现类:采用Xxx+Interface+Impl+Service的形式来定义,即,模块+Interface+Impl+Service。如:用户管理实现类:UserMsgInterfaceImplServce
变量命名实际应用
变量命名采用基本结构为typeVariableName,使用3字符前缀来表示数据类型。
例如,定义一个整形变量:intDocCount,其中int表明数据类型,后面为表意的英文名,每个单词首字母大写。
数据类型或对象类型
变量前缀
备注
byte
bye
1、做数组用时,再加前缀-a,如字符串数组:astr,
char
chr
2、自定义类型的变量可以采用本身的名称,把首字母改为小写。
float
flt
3、采用名称要能代表在方法中的意义。如果员工列表:employeeList
boolean
bln
Integer/int
int
short
sht
Long/long
lng
Double/double
dbl
string
str
如果需要对变量名进行缩写时,一定要注意整个代码中缩写规则的一致性。例如,如果在代码的某些区域中使用intCnt,而在另一些区域中又使用intCount,就会给代码增加不必要的复杂性。建议变量名中尽量不要出现缩写。
数据层方法:只能以insert(插入),delete(删除),update(更新),select(查找),count(统计)开头,其他层方法避免以这个5个单词开头,以免造成误解。
服务层方法,根据方法的行为命名,只描述方法的意义,而不采用方法的目的命名。比如系统的添加新用户,用户可以前台注册,也可以管理员后台添加,方法会被重用,所以最好不要用使用register,采用add会更好写。避免使用与web层相关的方法。
Web层方法最好是贴近web的语言,如register,login,logout等方法。
注释规范
1. 类注释
在每个类前面必须加上类注释,注释模板如下:
/**
* 类的详细说明
*
* @author ${USER}
* @Date ${DATE}
* @version 1.00
*/
在IntelliJ IDEA中实现:
2. 方法注释
在每个方法前面必须加上方法注释,注释模板如下:
/**
* 类方法的详细使用说明
*
* @param 参数1 参数1的使用说明
* @return 返回结果的说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/
使用IntelliJ IDEA的Live Templates功能:
如上图所示,点击右侧的+,新建Live Template,然后编辑如上图,将应用范围设为Java,如果只设comment,无法智能提示,且必须/*再按tab才行。如果有一些 $var$,可以 编辑变量
在IntelliJ IDEA中,打出的部分就会智能提醒,Enter后恩Tab即可。
3. 属性注释
在每个属性前面必须加上属性注释,注释模板如下:
/** 提示信息 */
private String strMsg = null;
4. 构造方法注释
在每个构造方法前面必须加上注释,注释模板如下:
/**
* 构造方法的详细使用说明
*
* @param 参数1 参数1的使用说明
* @throws 异常类型.错误代码 注明从此类方法中抛出异常的说明
*/
5. 方法内部注释
在方法内部使用单行或者多行注释,该注释根据实际情况添加。
如:
//背景颜色
Color bgColor = Color.RED
java 方法规范_Java规范推荐相关推荐
- java方法的命名规范
方法命名的规范:驼峰命名,开头小写后面首字母大写 方法的格式 修饰符 返回值类型 方法名(参数类型 参数名){... 方法体 ... return 返回值;} java方法是语句块的集合,它们一起执行 ...
- java方法重载_Java方法的重载
生活中的许多事,并不是我们不能做到,而是我们不相信能够做到.(当然赚先一个亿,即使相信也很难做到.) 简介 Java方法的重载就是一个类中,有多个名称相同,但形参不同的函数 规则 方法名称必须相同 方 ...
- java 方法 示例_Java 9示例–收集的工厂方法–创建不可修改的列表,集合和映射...
java 方法 示例 大家好,这是我在该博客上发表的有关Java 9功能的第一篇文章,今天您将了解我最喜欢的功能"收集的工厂方法" ,它是JEP 269的一部分.JEP代表JDK增 ...
- java 方法 示例_Java ArrayDeque pollFirst()方法与示例
java 方法 示例 ArrayDeque类pollFirst()方法 (ArrayDeque Class pollFirst() method) pollFirst() Method is avai ...
- java 方法 示例_Java扫描器具有示例的NextNextShort()方法
java 方法 示例 扫描器类的hasNextShort()方法 (Scanner Class hasNextShort() method) Syntax: 句法: public boolean ha ...
- java 方法 示例_Java ArrayDeque offerFirst()方法与示例
java 方法 示例 ArrayDeque类offerFirst()方法 (ArrayDeque Class offerFirst() method) offerFirst() Method is a ...
- java 方法 示例_Java Collectionsfrequency()方法与示例
java 方法 示例 集合类的frequency()方法 (Collections Class frequency() method) frequency() method is available ...
- java 方法 示例_Java集合checkedList()方法与示例
java 方法 示例 集合类checkedList()方法 (Collections Class checkedList() method) checkedList() Method is avail ...
- java 方法 示例_Java集合syncedSet()方法与示例
java 方法 示例 集合类syncedSet()方法 (Collections Class synchronizedSet() method) synchronizedSet() method is ...
最新文章
- 求最小众倍数java,【python网易】最小倍众数
- Linux操作系统(二:shell脚本)
- 分享Silverlight/WPF/Windows Phone一周学习导读(1月17日-1月23日)
- python日期时间
- 检查用户显示器的分辨率
- fio模拟mysql写入速度_IO压力测试工具 -- FIO 使用说明
- [转] linux下.tar .gz .tgz .bz2 .bz等解、压包命令详解
- 【Linux 内核】调度器 ⑤ ( put_prev_task、set_next_task 函数 | select_task_rq 函数 | migrate_task_rq 函数 )
- 【Python】20个Pandas数据实战案例,干货多多
- VTK:相互作用之SelectAnActor
- linux命令(8)kill命令
- 阿里规定代码中禁用static修饰SimpleDateFormat,为何?
- [css] 用css画一个五边形和一个六边形
- win7查看电脑ip地址的方法
- 虽然在修行初期的飞鸽传书
- ZZULIOJ 1052:数列求和4
- 难得一见的DIY针孔相机
- Datamill 一个开源的框架
- SaltStack 日志管理
- 服务器添加hdr文件3dMax,别再乱用HDR了!关于它的10件事你该知道