Java开发中基本命名规范

open -> close

begin -> end

insert -> delete

show -> hide

create -> destroy

lock -> unlock

source -> target

fist -> last

min -> max

start -> stop

get -> set

next -> previous

up -> down

old - > new

recovery -> cancel

pass -> reject

  • 使用后置限制词

程序中好多表示计算结果的变量,例如:总额、平均值、最大值等。

如果用类似Total、Sum、Average、Max、Min这样的词来修改某个命名,记住要把限定词加到名字的最后,并在项目中贯彻执行,保持命名风格前后一致。

总收入: revenueTotal

总人数:peopleTotal

这种命名的优点,首先,变量名中最重要的部分,就是这一变量赋予主要含义的部分应该放在最前面,可以突出显示,并且被首先阅读到,其次,可以避免同时在程序里出现使用totalRevence和revenueTotal而产生的歧义。

推荐使用限定词后置原则,保持代码的优雅,需要注意Num限定词,放在变量名结束位置表示一个下标作用,customerNum表示是客户的序号,突出的Num这个词意,为了避免Num带来的和上面规则冲突的问题

推荐使用Count和Total来表示总数,用Id表示序号,不用Num,这样customerCount就表示客户总数,customerId表示客户的编号。

  • 统一业务语言

这个是因为如果你和业务方讨论的是一种编程语言,而设计图时使用另一种语言,程序员编写的代码又体现出来的是随意翻译、毫无章法的内容,这无疑会降低代码的可读性,导致业务、文档、架构图、代码之间不一致问题

统一业务的语言就是为了在团队中交流,建模、代码、文档的都完全一致,这个也是领域驱动设计的重要概念。

例如:业务方交流中,都把推送模块中的一个功能叫 消息转发中心,那么在后面设计 文档 编码也要一致

这个最好有业务来统一制定。

  • 统一技术语言

有些技术语言是通用的,业内人都清楚理解其意思,我们应该尽量使用这些术语来进行命名,这些通用技术语言包括 DO 、DAO、DTO、Service、ServiceImpl、Componet、Repository等,例如在代码中看到OrderDO 和 OrderDAO 马上就能知道OrderDO中的属性就是数据库中的Order字段,对Order表进行操作的都在OrderDAO里面。

  • 自明的代码,无需注释

良好的代码命名可以就是最好的注释,一般要求注释量在20%~30%,也只是对特别复杂的逻辑需要解释。要想达到代码就是文档这个目的,前提必须是其具备很好的可读性和自明性。所谓的自明性就是在不借助其他辅助注释的情况下,代码本身能向读者清楚表达自身的含义才行。

  • 中间变量

我们可以通过添加中间变量让代码变得更自明,就是将计算过程打散成多个步骤。并用有意义的变量名来命名这些中间变量,从而把隐藏的计算过程已显性化的方式表达出来。

例如:我们通过Regex来获取字符串中的值,并放到map中。

Matcher matcher = headerPattern.matcher(line);

if(matcher.find()){

headers.put(matcher.group(1),matcher.group(2))

}

用中间变量,可以写成如下形式:

Matcher matcher = headerPattern.matcher(line);

if(matcher.find()){

String key = matcher.group(1);

String value = matcher.group(2);

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值