Java开发相关命名规范
JAVA文件命名规范
1.类命名
抽象类以 Abstract 或者 Base 开头。
异常类以 Exception 作为后缀。
枚举类以 Enum 作为后缀。
工具类以 Utils 作为后缀(相应的包名最后以 .util 结尾)。
常量类以 Consts 作为后缀(相应的包名最后以 .constant 结尾)。
形容能力的接口使用 able 作为后缀。
实现类与接口用后缀 Impl 区别。
数据类:表名(首字母大写) + DO。
传输类:领域相关名 + DTO。
展示类:页面名称 + VO。
2.service/dao层方法命名
获取单个对象的方法用 get 做前缀。
获取多个对象的方法用 list 做前缀。
获取统计值用 count 做前缀。
插入的方法用 save 做前缀。
删除的方法用 remove 做前缀。
修改的方法用 update 做前缀。
3.变量的命名规范
第一个单词的首字母小写,其后单词的首字母大写
例如:maxValue。
变量名不应以下划线或美元符号开头,尽管这在语法上是允许的。变量名应简短且富于描述。变量名的选用应该易于记忆,即,能够指出其用途。尽量避免单个字符的变量名,除非是一次性的临时变量。
pojo中的布尔变量,都不要加is(数据库中的布尔字段全都要加 is_ 前缀)。
4.常量/枚举值的命名规范
常量名/枚举值应该都使用大写字母,下划线分割单词。
例如:MAX_VALUE
数据库命名规范
表名和字段名字必须用小写字母或数字,数字不可开头,两个下划线中间不能只有数字。
库名与应用名尽量一致。
表名:业务名称_表的作用(单数形式)。
主键索引:pk_字段名。
唯一索引:uk_字段名。
普通索引:idx_字段名。
表示是否字段:is_xxxx unsigned tinyint(1.表示是,0表示否)。
JUnit单元测试命名规范
1.测试类的命名规范
类的命名规则是:被测试的业务 + Test、被测试的接口 + Test、被测试的类 + Test。
类的名字必须由大写字母开头而其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写,如MobileBindTest。如果类名称中包含单词缩写,则这个所写词的每个字母均应大写,如:XMLExample。
2.被测方法的命名规范
test + 被测方法_测试时所处状态 或者 test + 被测方法_具体测试方法。
比如要测试的用例是“数据库用户信息不存在时,获取Mobile绑定消息”,那么它的测试用例名称就是testSetMobileBind_NoSkyid。
比如要测试的方法是findParam,采用的是边界值方法,那么它的测试用例名称可以是testFindParam_Boundaries。
3.测试包命名规范
被测试类的包名前加上“test.” 。被测试类的包名是com.wistrons.util,那么测试类的包名就是test.com.wistrons.util。
(通过maven构建项目,默认情况家已经建好了test文件夹,不需要再包前面加上test前缀了。)
注释规范
注释不是必须的,语义清晰的代码不需要注释。
类、类属性、类方法必须使用 Javadoc 注释。
类注释至少标明作用、创建者和创建日期。
抽象方法必须使用 Javadoc 注释,至少标明功能(参数、返回值、异常、子类的实现要求等可斟酌加上)。
枚举值必须有注释,建议用段落注释(使用/*内容*/格式)。
修改代码同时,注释也要做相应的修改。
版本控制工具提交信息规范
第1行:提交修改内容的摘要(少于25个汉字,或英文大写字母开始,不加句号,使用祈使句。)
第2行:空行
第3行及以后:修改的理由(36个汉字左右换行,正文解释是什么和为什么,而不是如何做。)
备注
部分参考自《阿里巴巴Java开发手册v1.2.0》。
不同公司的命名规范还应该根据各自公司内部要求来制定。以上只是提供一个参考。
Java开发相关命名规范的更多相关文章
- Java开发的命名规范
Java的命名规范 定义规范的目的是为了使项目的代码样式统一,使程序有良好的可读性,便于日后维护. 1.工程的命名(全用小写字母) 工程的命名一般全用小写字母,单词之间用下划线“_”隔开. 2.包的命 ...
- 浅谈Java中的命名规范
现代软件架构的复杂性需要协同开发完成,如何高效地协同呢? 答案是:制定一整套统一的规范. 无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没 ...
- JAVA开发相关
JAVA开发相关1. IntelliJ IDEA开发工具熟练使用2. Maven3. Spring框架(IoC.AOP) 1)数据库相关MyBatis 2)数据库连接池 3)事务.多数据源.跨数据库分 ...
- Java中的命名规范到底是怎样的
内容摘要:命名规范二,java中的方法名,对象名和字段名的第一个单词的首写字母应该小写,而后面的每个单词的首字母都应该小写 要想将java基础学的十分的牢固就必须将java中的命名规范掌握好了.俗话说 ...
- java包名命名规范
Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由于 ...
- Java开发中代码规范有哪些?
Java开发中所要遵守的编码规范大体上有如下7点.命名规范.注释规范.缩进排版规范.文件名规范.声明规范.语句规范以及编程规范. 1.命名规范 (1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z) ...
- 【Java】变量命名规范
Java是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包.类.变量等的命名规范. (一)Package(包)的命名 P ...
- web前端开发CSS命名规范参考
做为一个web前端工程师,每天接触HTML.css就像吃饭一样,但是作为一名合作.优秀的web前端工程师,对DIV+CSS命名还是有一定的规范的,本文整理了一份web前端开发中DIV+CSS各种命名规 ...
- Java语言基本语法(一)————关键字&标识符(Java语言标识符命名规范&Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )
一.关键字 关键字的定义和特点 定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词). 特点:关键字中所有字母均为小写 下面列举一些常用的关键字. 用于定义数据类型的关键字:byte.sho ...
随机推荐
- 决策树(ID3 )原理及实现
1.决策树原理 1.1.定义 分类决策树模型是一种描述对实例进行分类的树形结构.决策树由结点和有向边组成.结点有两种类型:内部节点和叶节点,内部节点表示一个特征或属性,叶节点表示一个类. 举一个通俗的 ...
- FillConsoleOutputAttribute 函数--指定区域填充控制台输出属性
FillConsoleOutputAttribute函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms682663(v= ...
- LFCP
场景:总结LFCP项目开发中遇到的问题! 1 运营支撑 项目结构: 1.1 hessian配置 服务端实现: 客户端调用: 1.2 问题排查 之前一段时间,运营支撑项目能够正常运行,中间有其它事情要做 ...
- 读书笔记_MVC__关于通过js构建ORM,实现Model层
最近一直在学习MVC构建富应用的WEB程序,自己一直对MVC的设计模式理解的不是十分透彻,终于在研读了github上Spine的源码之后,对构建Model层有了一点自己的理解. 本文仅为个人理解,如有 ...
- InnoDB关键特性之自适应hash索引
一.索引的资源消耗分析 1.索引三大特点 1.小:只在一个到多个列建立索引 2.有序:可以快速定位终点 3.有棵树:可以定位起点,树高一般小于等于3 2.索引的资源消耗点 1.树的高度,顺序访问索引的 ...
- OpenCV探索之路(二十一)如何生成能在无opencv环境下运行的exe
我们经常遇到这样的需求:我们在VS写好的程序,需要在一个没有装opencv甚至没有装vs的电脑下运行,跑出效果.比如,你在你的电脑用opencv+vs2015写出一个程序,然后老师叫你把程序发给他,他 ...
- Java利用内存映射文件实现按行读取文件
我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好 ...
- MapReduce框架Hadoop应用(一)
Google对其的定义:MapReduce是一种变成模型,用于大规模数据集(以T为级别的数据)的并行运算.用户定义一个map函数来处理一批Key-Value对以生成另一批中间的Key-Value对,再 ...
- 实例甜点 Unreal Engine 4迷你教程(6)之三个重要基础操作SpawnActor、TArray的Add和Remove
本小节的教程需要完成前置教程:建议阅读<实例甜点 Unreal Engine 4迷你教程(5)>,因为5里面提到了本节的工程,不过也可以在不看5的前提下直接阅读本教程. 第一步:Empty ...
- Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
我的博客:CODE大全:www.codedq.net:业余草:www.xttblog.com:爱分享:www.ndislwf.com或ifxvn.com. Koa -- 基于 Node.js 平台的下 ...