0

我们团队中有一位工程师希望在 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) 将逻辑扩展到多个代码区域,从而使查找错误更加困难。

我正在寻找关于这个问题的任何意见。为什么这是个好主意?我不喜欢它的理由有效吗?我缺少一些价值吗?

4

1 回答 1

-1

你所有的论点都是正确的。我不会在这里详细介绍具体细节,因为所有不使用evalapply 的相同论点都已被广泛讨论。

于 2016-03-24T13:22:32.820 回答