16、代码编写中的值返回、空对象模式与副作用处理

代码编写中的值返回、空对象模式与副作用处理

1. 返回魔法值的问题与替代方案

在代码编写中,有时会返回魔法值,这可能是工程师有意为之,也可能是意外情况。例如下面的示例代码:

// 假设这里有个获取最小值的函数
{
  return minValue; 
} 
// 如果值列表为空,则返回 null

返回魔法值容易引发意外情况,因此要警惕这种情况的发生。返回 null 、使用可选类型或者错误信号技术是简单有效的替代方案。同时,如果有合适的语言特性或现有工具能实现功能,就没必要自己编写函数。

2. 合理使用空对象模式

空对象模式是在无法获取值时,替代返回 null (或空可选类型)的一种方法。其核心思想是返回一个有效值,使下游逻辑正常运行。简单形式如返回空字符串或空列表,复杂形式则需实现一个类,让每个成员函数不做任何操作或返回默认值。

2.1 返回空集合可提升代码质量

当函数返回集合(如列表、集合或数组)时,可能无法获取集合中的值。一种做法是返回 null ,但这会让调用者在使用前检查返回值是否为 null

以下是检查 HTML 元素是否高亮的代码示例:

// 返回 null 的情况
Set<String>? getClassNames(HtmlElement element) { 
  St
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值