请选择 进入手机版 | 继续访问电脑版

Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4902|回复: 0

JAVA开发规范

[复制链接]

9

主题

14

帖子

189

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
189
发表于 2022-6-8 15:10:35 | 显示全部楼层 |阅读模式
1 JAVA开发规范
1.1  包名规范
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
例:应用工具类包名为com.siqiansoft.util、类名为MessageUtils(此规则参考spring的框架 结构)
1.2  类名规范
类名使用UpperCamelCase风格,但以下情形例外:DO/BO/DTO/VO/AO/PO/ UID等。
例:MarcoPolo/UserDO/XmlService/TcpUdpDeal/TaPromotion
1.3  方法名规范
方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
正例:localValue/getHttpMessage()/inputUserId。
1.4  参数名、属性名规范
(1)代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
(2)代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式也要避免采用。
例:alibaba/taobao/youku/hangzhou等国际通用的名称,可视同英文。
1.5  各层命名规约
(1)Service/DAO层方法命名规约
1)获取单个对象的方法用get做前缀。
2)获取多个对象的方法用list做前缀,复数形式结尾如:listObjects。
3)获取统计值的方法用count做前缀。
4)插入的方法用save/insert做前缀。
5)删除的方法用remove/delete做前缀。
6)修改的方法用update做前缀。
(2)领域模型命名规约
1)数据对象:xxxDO,xxx即为数据表名。
2)数据传输对象:xxxDTO,xxx为业务领域相关的名称。
3)展示对象:xxxVO,xxx一般为网页名称。
4)POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
1.6  注释
(1)类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式。
(2)所有的抽象方法(包括接口中的方法)必须要用 Javadoc 注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能。
说明: 对子类的实现要求,或者调用注意事项,请一并说明。
(3)所有的类都必须添加创建者和创建日期。
(4)方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐。
(5)所有的枚举类型字段必须要有注释,说明每个数据项的用途。
(6)所有代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑等的修改,修改代码注释要标记修改人、修改时间、修改原因和修改内容。
(7)谨慎注释掉代码。在上方详细说明,而不是简单地注释掉。 如果无用,则删除。
说明: 代码被注释掉有两种可能性:
1) 后续会恢复此段代码逻辑。
2) 永久不用。前者如果没有备注信息,难以知晓注释动机。后者建议直接删掉(代码仓库保存了历史代码)。
1.7  其它
获取当前毫秒数System.currentTimeMillis(); 而不是 new Date().getTime();
说明: 如果想获取更加精确的纳秒级时间值, 使用System.nanoTime()的方式。在 JDK8 中,针对统计时间等场景,推荐使用 Instant 类。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|立达政通科技集团

GMT+8, 2026-6-8 13:40 , Processed in 0.056470 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表