Effective Java プログラミング言語ガイド (3)

Effective Javaのラストです。最後は例外・スレッド・直列化とかなりJavaっぽい内容です。それぞれ直感が効きにくい部分なので、丁寧なプログラミングが必要となる部分です。


Effective Java プログラミング言語ガイド

Effective Java プログラミング言語ガイド
Joshua Bloch (著)
ジョシュア・ブロック (著)
柴田 芳樹 (著)
¥ 2,730 (税込)


例外は「例外」として使え

例外の部分はある意味当たり前ともいえる「例外は例外の場合のみに使って、それ以外では使わない」というのが本質。実際、例外を特殊な使い方をしているコードを見ることもありますが、確かに何やっているか分かりにくいですしね。次にどこに行くかわからない、というのは、読みにくいしバグの元。

例外はやはり「例外」であるため、かなり丁寧な処理をしないと危ないですよ、ということ。

スレッドを安全に使う

スレッドの一番危ない部分は、「同期」の部分です。ではこの「同期」を安全に行うにはどうするか?一番はまず「同期を減らす」こと。まあ、当たり前といえば当たり前ですが、まずこの部分から考えるのが基本。

それができない部分に対しては注意深く、共有データを変更するコードを書きましょう。

直列化の移植性

直列化の一番の問題点は「移植性」。これはオブジェクトを一段低いデータであるバイトストリームに直すために起こります。本書では、Serializableを継承するのではなく、独自のカスタムシリアライズを提供する、ということまで言及されています。シリアライズはそれほど難しい、ということなのですね。

NEXT

未定です。どの本読もうかな。