java编程设计-开发规范实践分享(此基本规范曾引领拨付超N百亿互联网项目)

一、基本开发规范

【强制】把IDE 的Preferences/General/Workspace设置中的 text file encoding 设置为 UTF-8,文件的换行符设置为Unix格式,不要使用windows格式。

【强制】java包命名全部小写。类名使用 UpperCamelCase 风格(首字母大写,不同单词首字母大写),DTO、DAO等后缀例外。

【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格(首字母小写,不同单词首字母大写)。

【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

【强制】POJO 类中的任何布尔类型(boolean)的变量,都不要加 is,否则部分框架解析会引起序列化错误。

【强制】代码块缩进 4 个空格,如果使用 tab 缩进,请设置成 1 个 tab 为 4 个空格。【强制】方法参数在定义和传入时,多个参数逗号后边必须加空格;任何运算符左右必须加一个空格——可以通过Ctrl+Shift+F进行格式化。

【强制】不允许使用过时的(@Deprecated)类和方法


二、包命名规范

★ 包命名规范:com.ayu.系统名[.子系统名|模块名].功能名

其中:com.ayu.是固定的包名,系统名为项目名。

比如:开发平台名称为platform,那么:com.ayu.platform.为开发平台的基础包名。

包名命名原则是每个项目的基础包名都不一样,从而保证全公司所有软件系统模块都有独立命名空间,保证模块拆分和合并不会造成代码冲突。

★ 模块下各个包命名规范:

dto包:放和数据库表对应的POJO;

dao包:放mybaits的Mapping文件和DAO接口类;

controller包:放spring mvc的controller层代码类;

rest包:放restful服务类;

service包:放实现业务逻辑的service类,以及api包中接口的实现类;

api包:放为RPC暴露的接口。


三、类名命名规范

类名要用名词或名词短语定义。

不同功能类别下类的命名规则如下(SSM框架内的代码,基本都可以通过工具生成):

Controller:业务名称+ Controller;

Rest:业务名称+ Rest;

Api:功能+Api;

Service:功能+Service;

dto:表名+DTO;

dao:表名+DAO;

Filter:业务名称+Filter;

抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。


四、代码注释规范

★ 文件注释:在每个文件的头部都应该包含该文件的功能、作用、作者(必须是中文姓名)、日期以及创建、修改记录等。并在其中使用SVN标记自动跟踪版本变化及修改记录等信息。注意是/**/注释。

★ 类注释:在类、接口定义之前当对其进行javaDoc注释,包括类、接口的目的、作用、功能、继承于何种父类,实现的接口、实现的算法、使用方法、示例程序等,在作者和版本域中使用SVN标记自动跟踪版本变化等,具体参看注释模板。

★ 方法注释:依据标准JavaDoc规范对方法进行注释,以明确该方法功能、作用、各参数含义以及返回值等。参数注释时当注明其取值范围等;返回值当注释出失败、错误、异常时的返回情况,什么情况返回null;异常当注释出什么情况、什么时候、什么条件下会引发什么样的异常。


五、数据库事务规范

★ 系统的数据库事务控制在Service层,统一通过Spring的AOP进行配置管理,所有数据库的增删改操作必须进行统一的事务控制。

★ 新增操作方法名必须以insert开头;更新操作方法名必须以update开头;删除操作方法名必须以delete开头;查询单个对象的操作方法必须以get开头;查询数据列表的操作方法必须以query或select开头,或get****List。


六、Rest规范

Rest类上必须使用注解@Controller。

Rest服务路径规范(Rest类上的注解@RequestMapping):/api/子系统/模块名/类名

方法上的注解@RequestMapping:/方法名/版本号


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值