RSS

================================================================================

Before Today

================================================================================

If I was crying
In the van, with my friend
It was for freedom
From myself and from the land

================================================================================

05/15/2010 20:35:21

Scala | イミュータブルを重視する

Java では、変数はミュータブルがデフォルトです。final 修飾子をつけない限り、変数はミュータブルです。

最初にすることは、イミュータブルのコレクションクラスを標準で使うことです。ミュータブルなコレクションクラスを使う場合には、ミュータブルを選んだ理由をソースコードにコメントとして残しましょう。ミュータブルなコレクションクラスが適切な場合もあります。例えば、メソッドの中でリストを作成している場合には、ListBuffer クラスを使うほうがより効率的でしょう。しかし、戻り値として ListBuffer を返すのではなく、List を返すようにしましょう。Java でStringBuffer を使って、最終的には String を返すのと似ています。イミュータブルのコレクションクラスを使うのを標準にして、妥当な理由がある場合のみ、ミュータブルなデータ型を使うようにしましょう。


同様に変数の宣言でも val を使い、コメントできちんと理由が書けるような場合にのみ、var を使いましょう。メソッドの中で、パフォーマンス上の重大な問題がある場合を除いて、val を使うべきです。メソッドの中で val を使うことで、再帰呼び出しへと発展することがよくあります。

--------------------------------------------------------------------------------

 

================================================================================

Designed: Robert Boylan
Powered: Tumblr