代码编写中的值返回、空对象模式与副作用处理
1. 返回魔法值的问题与替代方案
在代码编写中,有时会返回魔法值,这可能是工程师有意为之,也可能是意外情况。例如下面的示例代码:
// 假设这里有个获取最小值的函数
{
return minValue;
}
// 如果值列表为空,则返回 null
返回魔法值容易引发意外情况,因此要警惕这种情况的发生。返回 null 、使用可选类型或者错误信号技术是简单有效的替代方案。同时,如果有合适的语言特性或现有工具能实现功能,就没必要自己编写函数。
2. 合理使用空对象模式
空对象模式是在无法获取值时,替代返回 null (或空可选类型)的一种方法。其核心思想是返回一个有效值,使下游逻辑正常运行。简单形式如返回空字符串或空列表,复杂形式则需实现一个类,让每个成员函数不做任何操作或返回默认值。
2.1 返回空集合可提升代码质量
当函数返回集合(如列表、集合或数组)时,可能无法获取集合中的值。一种做法是返回 null ,但这会让调用者在使用前检查返回值是否为 null 。
以下是检查 HTML 元素是否高亮的代码示例:
// 返回 null 的情况
Set<String>? getClassNames(HtmlElement element) {
St
超级会员免费看
订阅专栏 解锁全文
5243

被折叠的 条评论
为什么被折叠?



