0

チームには、JSON データ内で次のことを行いたいエンジニアがいます。

"visible": "$(= state '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) ここで、開発者は、タスクを完了するために 3 つの別々のことを行う方法を知っている必要があります (JSON データのプログラマ部分を記述し、正しいプレフィックス表記を記述し、コードに正しいロジックを配置します)。

3) この動作を単体テストする良い方法がわかりません

4) ロジックがコードの複数の領域に分散されるため、エラーの発見がより困難になります。

この件について意見を求めています。なぜこれが良いアイデアなのですか?嫌いな理由は有効ですか?私が見逃している値はありますか?

4

1 に答える 1

-1

あなたの議論はすべて正しいものです。ここでは具体的な詳細については触れません。なぜなら、使用しないevalという同じ議論がすべて当てはまり、広範囲にわたって議論されてきたからです。

于 2016-03-24T13:22:32.820 に答える