1

同僚との口論を解決するのを手伝って...

Zend Framework と PHP を使用しており、扱うデータの多くには日付と価格が含まれています。私は、データが (データベースまたは JSON から) 取得されたら、日付プロパティを Zend_Date オブジェクトに、価格プロパティを Zend_Currency オブジェクトに自動的に変換して、それらの機能を常に使用できるようにする必要があると主張してきました。データを操作/比較/表示するときのクラス。私の主張は、それが一貫性を保証し、データがどのような形式であるかを常に知っているということです.

私の同僚は、データを取得するときはそのまま (文字列) のままにし、モデルまたはビューで使用するときは Zend_Date/Zend_Currency オブジェクトのみを作成するべきだと主張しています。

誰が正しいのか、その理由は?

(オブジェクトの作成には速度の最適化にわずかなペナルティがあると主張する人もいると思いますが、私たちの場合は問題ではありません。)

4

1 に答える 1

1

オブジェクト指向では、通貨/日付に期待する状態と動作をカプセル化するため、オブジェクトを使用することをお勧めします。

私はZendの経験はありませんが、日付クラスが日付が有効な日付であることを確認するか、例外をスローするかを確認するために何らかのチェックを行うと思います。日付をオブジェクトに変換するのをぎりぎりまで待つと、バグの原因を突き止めるのが難しくなり、汚染されたデータをずっと転送し続ける可能性があります。私の防御的な性質は、既知の信頼できるソースからのものではないデータをできるだけ早くサニタイズすることを望んでいます.

于 2011-07-05T23:45:29.937 に答える