対象読者は、「Java入門を終えて、実務や実際のアプリ開発に着手する初級者」な感じです。『Effective Java プログラミング言語ガイド』ほど濃い内容ではありませんでした。言語の基礎を学び終えて、Javaプログラミングの基礎を身に付ける時に有効に利用できそうです。
内容は、鉄則ということでこの場合はこうするべしという感じのことが50程載っています。「開発環境に関する鉄則」、「実装に関する鉄則」、「テスト、デバッグに関する鉄則」、「設計に関する鉄則」と、扱う範囲は結構広い感じです。そのため、内容は多少物足りない部分もあります。
言語仕様を理解した後に、実際の業務に利用できるレベルに成長するための実用本として活用できます。本書をマスターした後は、更なるステップのために『Effective Java プログラミング言語ガイド』を読むのをおすすめします。
特徴
鉄則と書いてありますが、そこまで厳格なものではなく、場合によってはこうしたほうが利点があるという程度に捕らえるといいと思います。
結構、現場でバリバリやっている人にとっては当たり前のことだけど、新人にわざわざ教えるのが時間の無駄というようなことが載っています。「本書を読め」でかなりの時間の有効活用ができそうです。
鉄則の目次です。
- ▼ 開発の基本に関する鉄則
- SDKとJRE
- ソフトウェア開発の三種の神器
- オープンソースの利用
- 仕様書の鉄則
- javadoを活用しよう
- Apache Ant を使おう ▼ 実装に関する鉄則
- 郷に入っては郷に従え
- プリミティブ型あれこれ
- スタックトレースを恐れるなかれ
- byte型は符号付き
- 配列を上手に使おう
- 浮動小数点数の落とし穴
- 文字数と桁数
- むだな文字列の生成を避ける
- パラメータ読み込みの極意
- 書式化の極意
- 日付クラスの使い方
- 多値を返すメソッドの作成
- 賢い例外処理
- finally の注意事項
- static メソッドと static フィールド
- 知っておくと得する小ワザ
- 正規表現の極意
- タイプセーフなenum
- プロセスを呼び出す
- スレッド処理に極意 ▼ テスト、チューニング、保守に関する鉄則
- デバッグの極意
- ユニットテストを作る
- リファクタリング
- チューニングの基本
- アプリケーションの異常終了を検出したい
- プログラムを作るのを嫌ってはいけない
- 既存のインターフェースを変更する前に ▼ 設計に関する鉄則
- オブジェクト指向プログラミングをしないという選択
- 何はなくてもインターフェース
- デザインパターンの適用
- 不適切な throws宣言
- 継承とアプリケーション例外の定義
- 例外を補足しないという選択
- バージョン管理の考え方
- 孤高のクラス
- 親切があだとなる − インターフェースは必要最低限に
- 変更不能!
- コンストラクタの落とし穴
- カプセル化
- コレクションフレームワークを活用しよう
- 仕事が終わったらお片づけ
- 内部仕様と外部仕様
- データベースをオブジェクトとして扱う
- AspectJとアスペクト指向
各鉄則には、例としてのサンプルコードが載っているため、何を言っているかが分からないということはそれほどないと思います。実装前の勉強会で使えそうなネタが詰まっています。
対象読者は「初級者〜中級者」だと思います。本書を読み終わったら『Effective Java プログラミング言語ガイド』を読んで、さらに深い鉄則を学ぶのがよいと思います。
現場のプログラマなら読んで損はないと思います。
参考
- 本書を読んだ後に読むべし。
- Javaの鉄則に関して、もっと概念的で深いことが載っています。
- Javaの魂を是非見てください。かなり濃いです。