*

お勧め本紹介[新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)]

公開日: : 最終更新日:2015/05/01 Java, お勧め本


スポンサードリンク



リファクタリング―プログラムの体質改善テクニック (Object Technology Series)の新装版が最近発売されました。

発売された背景

英国ピアソングループの技術書を国内で出版していたピアソン桐原は、ピアソングループから離脱し2013年8月1日付けで「桐原書店」として再スタートを切りました。

この影響で「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)は結果的に絶版となっていました。
[amazonjs asin=”4894712288″ locale=”JP” title=”リファクタリング―プログラムの体質改善テクニック (Object Technology Series)”]

不朽の名作である本書が世の中から無くなってしまうことを憂いた、訳者たちの尽力で今回の新装版の発売に繋がりました。

「新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)」
[amazonjs asin=”427405019X” locale=”JP” title=”新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)”]

読んでみた感想

全体的な内容は旧版と同じですが、旧版の訳者による丁寧な見直しが新装版にも反映されています。
本書に含まれるコードはJava1、Java2対応の物で旧版とほとんど変更されていませんが、新装版には旧版にない
付録があります。これが新装版の目玉だと言えます。

付録「 Java のバージョンアップに伴うリファクタリングをめぐる環境の変化」です。
旧版出版以降のJavaとそのテスティングフレームワークであるJUnitの進歩の記載があります。
対象となるJavaは7までとなっています。

Javaとそのテスティングフレームワークの進歩の記載の後に、その進歩を反映して、
本書に含まれるコードを再リファクタリングしています。ダウンキャスト問題やジェネリック等が取り扱われています。

本書が全面的にJava7に対応されていないことについては不満は残りますが、
そんな大きな変更を行ってしまうと、せっかくの本書のバランスが崩れてしまう可能性があると言えますので、
付録によるフォローに留めたことが結果的には良かったとも思います。

また今後は、Oracleは今までと違ってJavaの言語仕様の強化に注力して行くことが見えていますし
既にJava8でかなりの変更があったといえ、そんな物を追いかけ続けることは現実劇に不可能ですので、
付録の再リファクタリングで十分に新装版の意味はあると考えます。

総合評価

「読んでみた感想」で記載させていただいた通り、旧版の良さをそのまま引き継いで、比較的新しめのJava7
の機能を利用したリファクタリング方法を付録として追加している本書は「Javaプログラマー」であれば
絶対に読んでおくべき物と言えます。

値段は少し高いですが、間違いなく読んだ人の血となり肉となると確信します。

Javaだけでなく、文法や記述方法が良く似ている「C#プログラマー」にもオススメできます。
星は5つとさせていただきます。

「新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)」
[amazonjs asin=”427405019X” locale=”JP” title=”新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)”]


スポンサードリンク



関連記事

Mac(OS X)におけるJava8(jdk8)等のインストール、アップデート、アンインストール方法

Windowsとは異なりMac(OS X)ではJDKの管理(インストール、アンインストール)が難しい

記事を読む

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようになりました。 C#では一足早く

記事を読む

Eclipse(4.3,4.4)の使い方[パースペクティブのツールバーのカスタマイズ(「コマンド・グループ可用性」と「ショートカット」タブ)]

「パースペクティブのカスタマイズ」画面には、以下の4つのタブが存在しております。 ツール・バ

記事を読む

Java超入門 with Eclipse[3:クラスに関する基礎知識(クラスとインスタンスとパッケージ)]

Javaといえば、「オブジェクト指向」とのイメージがとっても強いですよね。 そう、そうです。間違い

記事を読む

JDK8(java 8)の新機能のラムダ式の利用方法[その1:概要]

「JDT betaを利用してJDK8対応のEclipse開発環境を作成する」では、「Eclipse」

記事を読む

JUnit入門その6[Eclipse4.4のJUnitプラグインとDBUnitの併用(便利に利用するためのユーティリティの作成)]

JUnit入門その4 でDBUnitの環境構築を説明させていただきました。 今回は、前提値デ

記事を読む

JUnit入門その2[Eclipse4.4のJUnitプラグインのassertThatの使い方]

JUnit入門その1ではEclipseのJUnitプラグインの基本的な使い方を説明させていただきまし

記事を読む

利用すると生産性が格段に向上する厳選Eclipseショートカット集

今回のエントリーは、利用すると生産性が格段に向上するEclipseのショートカット集となります。

記事を読む

Java超入門 with Eclipse[5:クラスに関する基礎知識(メソッドをJUnitを使って説明)]

クラスに関する基礎知識シリーズも、いよいよメソッドを残すのみとなりました。 前回までは、Eclip

記事を読む

JUnit入門その1[Eclipse4.4のJUnitプラグインの基本的な使い方]

利用する環境の作成につきましては、「Eclipseの使い方(Windows環境のEclipse4.3

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]

Selenium3も3.0.1がリリースされましたし、今後は本格的にS

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようにな

Selenium入門その5[ページオブジェクトパターン(Page Object Design Pattern)を利用して変更に強いテストを作成する方法]

Selenium入門その2 では「UIマップファイル」と言う仕組みが

Javaによる非同期処理入門その1[非同期処理の実装方法の概説]

Javaによる非同期処理に関するエントリーを前々から作成したいと思って

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑