Javaに限らず、初心者と達人プログラマとの違いはどれだけその言語の鉄則を守ってコーディングしているのかの違いだと思います。実際にコーディングを行ってつまずいて、解決した人にしかわからないTipsや設計原則を惜しげもなく解説してくれる、まさに聖書のような存在です。
特徴
本書はJavaに関する実践的提案やアドバイス、コーディング例、解説をあつめて、「鉄則」という形でまとめたものです。入門書を読むだけでは気づかない点を詳しく丁寧に解説してくれます。その上で、よりよいコーディング例などを説明してくれるため、Javaの中級者から上級者におすすめします。初心者には、少し難しい部分もあるかもしれません。しかし、確実に読むべきです。
どんな鉄則が載っているのかを少しあげておきます。
- パラメータは参照渡しでなく値で渡される
- instanceofよりも多態を
- 必要がなくなったらオブジェクト参照にnullを設定する
- equalsメソッド実装にはgetClassを使うのがよい
- finallyを使ってリソースのリークを回避する
- 連結にはStringよりもStringBufferを使う
- インスタンスメソッドの場合synchronizedはメソッドコードではなくオブジェクトをロックすることを理解する
- 1つの演算に関わるすべてのオブジェクトをロックする
- インタフェース、抽象クラス、具体クラスを区別する
- 不変クラスの定義と実装は慎重に cloneメソッドを実装するときはsuper.cloneをよびだす。
ここにあげたもの以外に3倍近い鉄則がまとめられています。
本書で説明されている鉄則は、すべて普通のプログラマから達人プログラマになるのに必要なことばかりだと思います。実践でそのまま利用できるテクニック、プラクティスばかりです。「知らないことはできない」。「鉄則」という名の武器を装備してみませんか?
参考
本書と一緒に読みたいのが、Javaの哲学という本です。Javaの「なぜ?」を知りたい人におすすめです。
- Javaに限らずすべてのプログラマに贈るバイブルです。