摘要:一命名规则类名和接口使用意义完整的英文描述,每个英文单词的首字母使用大写其余字母使用小写的大小写混合法。在内部规划好包名的范围,防止产生冲突。示例常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用修饰。
一 命名规则
类名和接口使用意义完整的英文描述,每个英文单词的首字母使用大写、其余字母使用小写的大小写混合法。
示例:
OrderInformation, CustomerList, LogManager, LogConfig, SmpTransaction
方法名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其余字母小写的大小写混合法。
示例:
private void calculateRate(); public void addNewOrder();
包名采用域名倒置加上自定义的包名,采用小写字母。在内部规划好包名的范围,防止产生冲突。部门内部产品使用部门名加上模块名称。产品线的产品使用产品的名称加行模块的名称
格式:
com.dmall.产品名.模块名 com.dmall.部门名称.项目名称
示例:
商品系统lighthouse:com.dmall.ware.lighthouse 通用消息:com.dmall.dafka
方法中,存取属性的方法采用setter 和 getter方法,动作方法采用动词和动宾结构。
格式:
get + 非布尔属性名() is + 布尔属性名() set + 属性名() 动词() 动词 + 宾语()
示例:
public String getType(); public boolean isFinished(); public void setVisible(boolean); public void show(); public void addKeyListener(Listener);
属性名使用意义完整的英文描述,第一个单词的字母使用小写,剩余单词首字母大写其余字母小写的大小写混合法。属性名不能与方法名相同。
示例:
private customerName; private orderNumber;
常量名使用全大写的英文描述,英文单词之间用下划线分隔开,并且使用 static final修饰。
示例:
private static final int PAGE_COUNT = 1000; private static final Logger LOGGER = LoggerFactory.getLogger(CacheControlServiceImpl.class); public static final String DEFAULT_START_DATE = "2001-12-08";
属性名可以和公有方法参数相同,不能和局部变量相同,引用非静态变量。
抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类 命名以它要测试的类的名称开始,以 Test 结尾;枚举用Enum结尾。
如果使用到了设计模式,建议在类名中体现出具体模式。
示例:
public class OrderFactory; public class LoginProxy; public class ResourceObserver;
通过对函数或过程、变量、结构等正确的命名以及合理地组织代码的结构,使代码成为自注释的。增加代码的可读性,减少不必要的注释。
常用组件类的命名以组件名加上组件类型名结尾。
示例:
Application 类型的,命名以App 结尾——MainApp Frame 类型的,命名以Frame 结尾——TopoFrame Panel 类型的,建议命名以Panel 结尾——CreateCircuitPanel Bean 类型的,建议命名以Bean 结尾——DataAccessBean EJB 类型的,建议命名以EJB 结尾——DBProxyEJB Applet 类型的,建议命名以Applet 结尾——PictureShowApplet
如果函数名超过15 个字母,可采用以去掉元音字母的方法或者以行业内约定俗成的缩写方式缩写函数名。
示例:
getCustomerInformation() 改为 getCustomerInfo()
接口和实现类的命名规则
对于 Service 和 DAO 类,基于 SOA 的理念,暴露出来的服务一定是接口,内部
的实现类用 Impl 的后缀与接口区别。
示例:
CacheServiceImpl 实现 CacheService 接口。
如果是形容能力的接口名称,取对应的形容词做接口名(通常是–able 的形式)。 示例:
AbstractTranslator 实现 Translatable。
long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。
示例:
Long a = 2l; 写的是数字的21,还是Long型的2?
15.不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。如:缓存 相关的常量放在类:CacheConsts 下;系统配置相关的常量放在类:ConfigConsts 下
各层命名规范
1)Service/DAO层方法命名规约
获取单个对象的方法用get做前缀。
获取多个对象的方法用list做前缀。
获取统计值的方法用count做前缀。
插入的方法用save(推荐)或insert做前缀。
删除的方法用remove(推荐)或delete做前缀。
修改的方法用update做前缀。
2)领域模型命名规约
数据对象:xxxDO,xxx即为数据表名。
数据传输对象:xxxDTO,xxx为业务领域相关的名称。
展示对象:xxxVO,xxx一般为网页名称。
POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70159.html
摘要:此处指定的虚拟机与平台兼容,并支持语言规范中指定的编程语言。第章说明了虚拟机的指令集,按字母顺序显示操作码助记符。 介绍 一点历史 Java®编程语言是一种通用的、并发的、面向对象的语言,它的语法类似于C和C++,但它省略了许多使C和C++复杂、混乱和不安全的特性。最初开发Java平台是为了解决为联网的消费者设备构建软件的问题,它旨在支持多种主机架构,并允许安全交付软件组件,为了满足这...
摘要:最近在看一本有关编程规范的书,书中精炼阐述了使用语言时应该遵循的一些原则。所以拥有良好一致的编程规范对于一个团队至关重要。二坚持最小惊奇原则在编码过程中尽量避免可能让软件用户感到意外的做法。 最近在看一本有关Java编程规范的书,书中精炼阐述了使用java语言时应该遵循的一些原则。接下来的一段时间我将在这里总结我的学习内容,也希望这一系列文章能够对有需要的人有所帮助。 不考虑任何编码规...
摘要:大家好,我是乐字节的小乐,这次要给大家带来的是变量与数据类型。本文是第一集编程规范,关键字与标识符。后面我们要写一个程序的过程。需求分析实现代码体现注释的作用解释说明程序,提高了代码的阅读性。可以帮助我们调试程序。 大家好,我是乐字节的小乐,这次要给大家带来的是Java变量与数据类型。本文是第一集:Java编程规范,关键字与标识符。showImg(https://segmentfaul...
摘要:二格式规范在上一篇的编程规范一中我们讲述了在编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在开发过程中所应该遵循的规范与思想。不要把多个语句放在同一行里以免超过最大可接受宽度。 二、格式规范 在上一篇的java编程规范(一)中我们讲述了在Java编码中的一般原则,虽然这些原则并不涉及具体的代码规范,但是这些原则却是我们在Java开发过程中所应该遵循的规范与思...
摘要:在上一篇的编程风格学习二中我们学习了一些在编码过程中的格式规范,遵循这些规范毋庸置疑是我们的书写高质量代码的前提与基础。二语言编程规范常量命名常量的每个单词均大写,单词之间使用下划线连接。方法表示动作,采用动词命名。 在上一篇的java编程风格学习(二)中我们学习了一些在Java编码过程中的格式规范,遵循这些规范毋庸置疑是我们的书写高质量代码的前提与基础。今天我们更进一步,一起来学习J...
摘要:对变量对象或者函数等进行命名时,选择能清晰表达其用途的名字。其实,测试方法名应该明确指出测试的内容与条件。和这种命名方式是时代的前朝遗物。使用自己的异常类型笔者又一次错误地认为这一开发习惯是业内的共识。 作为 Java 开发人员,我们会遵循一系列的编码风格和开发习惯。习惯使然是一方面,另一方面,我们也从不停下脚步质疑这些习惯。一段时间以后,笔者养成了一些不同于常人的编码风格和开发习惯。...
阅读 1819·2021-09-24 09:48
阅读 3161·2021-08-26 14:14
阅读 1649·2021-08-20 09:36
阅读 1425·2019-08-30 15:55
阅读 3594·2019-08-26 17:15
阅读 1391·2019-08-26 12:09
阅读 580·2019-08-26 11:59
阅读 3297·2019-08-26 11:57