2

是否可以确保 Haxe 中的 const 正确性?在将数据传递给多方的项目中,这非常重要。我想确保其他程序员在我的数据被公开阅读时不会尝试修改我的数据。他们应该能够阅读并使用特定但不同的功能对其进行修改。

一个非常简单的例子在这里:

//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 回答