2

Haxeで定数の正確性を確保することは可能ですか?複数の関係者にデータを渡すプロジェクトでは、これは非常に重要です。データが読み取り用に公開されている間、他のプログラマーが私のデータを変更しようとしないようにしたいと思います。彼らはそれを読んで、特定の、しかし異なる機能を使ってそれを修正することができるはずです。

非常に簡単な例を次に示します。

//Here the returned geometry should be const
public function getGeometry():Geometry {
    return mGeometry;
}

//We might want to declare GeometryTransformation as const to insure
it will not be modified here and will be reusable for other cases.
public function transform(GeometryTransformation):Void{
    //...
    mObservers.sendMessage(GeometryEvent.TRANSFORMATION_OCCURED, this, mGeometry);
}

constの正当性により、ドキュメントを参照しなくてもコードの可読性が向上する場合がたくさんあります。また、陰湿で見つけにくいバグから私たちを救います。

4

1 に答える 1

3

常にできることは、渡したいデータの不変のスーパータイプ(インターフェイス、スーパークラス、または匿名タイプ)を定義し、それに対してすべてのクライアントを書き込むことです。

しかし、constのようなものはありません。最も近いのは読み取り専用フィールドです。

于 2013-01-28T11:46:41.490 に答える