寻找以下原则的名称

时间:2014-09-09 13:02:52

标签: javascript function methods design-principles

我知道有一种方法论'开发人员应该编写这样的函数,返回值总是相同的类型。所以,假设我们有一个函数往往会返回一个数组,并且会发生不必要的事情,比如参数无效,在这种情况下我们不会返回null,而是返回一个空数组{{1 }}。然后方法的用户可以肯定,返回的值将是一个数组。

我不记得这个原则的名称,你能帮帮我吗?

由于

实施例

相反:

[]

我们必须根据以下原则设置默认值:

function(arg) {
  var res;
  if (arg) {
    return ['example'];
  }
  return res;
}

注意,在第一种情况下,返回值(未定义/数组)中存在竞争条件,而在后一种情况下,我们返回一个数组。

2 个答案:

答案 0 :(得分:1)

基本上,下面的操作是为了避免在调用方法中执行空值检查。对于数组类型,不仅,而且对于处理null / undefined返回的所有对象类型,

function(arg) {
  var res = []; // initialization of an object
  if (arg) {
    res = ['example'];
  }
  return res;
}

例如,

当你调用上面的函数时,返回的值不可能是null或undefined。这消除了添加

if((var x = function(arg)) != null)检查调用方法。

最接近的设计模式是java中的Null对象模式。

http://www.tutorialspoint.com/design_pattern/null_object_pattern.htm

答案 1 :(得分:0)

  

然后该方法的用户可以确定返回的值是数组

听起来像type safety。虽然,即使在类型安全的语言中,如果您将返回类型记录为nullable,也可以轻松返回null