【Java进阶营】Java项目开发规范(1)—方法命名规范

本文探讨了Java项目开发中的方法命名规范,强调方法命名应具有可读性和单一职责。建议采用小驼峰命名,动词+名词组合,如checkXxx、findXxx。避免"名不副实",并提供了优化示例。还提到了取名应面向目的,如isShared、getResultsIfShared等,并列举了不同场景下的命名模板。
摘要由CSDN通过智能技术生成

编程5分钟,起名2小时。

  1. 场景实战
    方法应该具有单一职责特效,通过一个比较好的命名来实现较高的可读性。即实现less is more。那么平时在开发中如何对一些常见的方法来进行命名?

方法命名采用小驼峰的形式,首字小写,往后的每个单词首字母都要大写。和类名不同的是,方法命名一般为动词或动词短语,与参数或参数名共同组成动宾短语,即动词 + 名词。一个好的函数名一般能通过名字直接获知该函数实现什么样的功能。

举几个常见的例子:

例如checkXxx或者validateXx方法,给人的职责便是校验业务,不推荐返回响应对象。
find/getXxx返回值为应该为Collection,不推荐是boolean类型。
若方法响应值为boolean类型,方法的前缀推荐为exists/has/is等。
find或者exists方法不推荐抛出异常,若未查询到推荐返回null。
1.1 方法的单一职责进行命名
下面可以看到一个“名不符实”的危害。

函数取名最忌讳的是"名不副实",举个例子,假如有个Cache类,里面有个函数判断key是否过期:

public boolean isExpired(String key) {
// 当前时间戳
long curTimestamp = DateUtils.nowUnixTime();
// 获取key的存入时间戳
long storeTimestamp = getStoreTimestamp(key);

if (curTimestamp - storeTimestamp > MAX_EXPIRE_SECONDS) {
// 注意这个地方的delete是个隐藏逻辑
delete(key);
return true;
}
return false;
}
上面这个函数从函数字面意思看是判断key是否过期,但是!!它居然在函数里面隐藏了一段特殊逻辑:如果过期则删除掉key。这个就是典型的"名不副实",这个是最忌讳的,会给后续的开发人员留下"巨坑"。

有两种方式去优化这段代码:

方式一:将隐藏逻辑去掉

public boolean isExpired(String key) {
// 当前时间戳
long curTimestamp = DateUtils.nowUnixTime();
// 获取key的存入时间戳
long storeTimestamp = getStoreTimestamp(key);

if (curTimestamp - storeTimestamp > MAX_EXPIRE_SECONDS)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值