将逻辑放入JSON数据

时间:2016-03-24 13:12:49

标签: json actionscript-3 data-driven

我们的团队中有一位工程师希望在JSON数据中执行以下操作:

"可见":" $(=州' state_c')"

现在在模型中他有以下方法来确定状态:

protected function getCurrentState():String
{
   var state:String = "defaultState";

   if (xxxx)
      state = "state_A";
   else if (xxxx)
      state = "state_B";
   else if (xxxx)
      state = "state_C";
   else
      state = "state_D";

   return state;
}

现在,无论何时我需要更新状态,我都会调用以下内容:

data.state = getCurrentState();

JSON数据中使用的符号是前缀表示法(LISP),以防您好奇。模型所在的代码用AS3编写,对象名为' data'以上是Object的类型。

我反对这个想法,我不理解将逻辑放入数据的价值。我从未见过以这种方式使用的范例。我认为这打破了MVC架构设计并引入了许多不同的问题。以下是此设计的最大问题:

1)所有逻辑都是类型不安全的(数据类型不安全)

2)现在,开发人员必须知道如何完成三个单独的事情来完成任务(编写JSON数据的程序员部分,编写正确的前缀表示法,并在代码中放入正确的逻辑)

3)我没有看到对这种行为进行单元测试的好方法

4)将逻辑分散到多个代码区域,从而使查找错误变得更加困难。

我正在寻找有关此事的任何意见。为什么这是个好主意?我不喜欢它的原因有效吗?我缺少一些价值吗?

1 个答案:

答案 0 :(得分:-1)

你所有的论据都是正确的。我不会在这里详细介绍具体细节,因为not using eval的所有相同论点都适用并且已经广泛讨论过。