*

お勧め本紹介[新装版 リファクタリング―既存のコードを安全に改善する― (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)”]


スポンサードリンク



関連記事

Eclipseの使い方(Eclipse4.4のブックマーク機能とタスク機能)

今回は、Eclipseのブックマーク機能とタスク機能の説明をさせていただきます。 両機能とも効率的

記事を読む

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

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

記事を読む

JDK8(java 8)の新機能のラムダ式の利用方法[その3:java8が用意している関数型インターフェース]

[その2:関数型インターフェースを例としたラムダ式] と説明させていただいておりますが、

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[JRAおよびクラス・フォルダー/ライブラリー]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「JRAおよびクラス・フォルダー

記事を読む

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

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

記事を読む

java8(JDK8)の新機能をEclipseとJUnitで[インターフェースのデフォルト実装の使い方]

本エントリーでは、まずSAM Typeの説明をさせていただきます。 その流れの中で「java8の新

記事を読む

java8(JDK8)の新機能[大幅に強化されたコレクションAPI:java.util.List] をeclipseとJUnitで確認する。

Java8(JDK8)では、ラムダ式の導入を前提とした、コレクションAPIの新機能が追加されました。

記事を読む

JUnit入門その4[Eclipse4.4のJUnitプラグインとDBUnitの併用(環境構築と基本)]

JUnit入門その1 JUnit入門その2[Eclipse4.4のJUnitプラグインのasse

記事を読む

EclipseでAndroidアプリケーションの開発環境の構築と”Hello World!”まで

対象のOSはMac(OS X 1.9.5)とWindows7 64bitとなります。 といっても手

記事を読む

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

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

記事を読む

Message

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

Spring5入門[STS(Spring Tool Suite)で簡単なWebアプリの典型的なユニットテストの実現方法]

前回は「Spring入門」で、Spring MVCを利用した簡単なWe

Spring5入門[STS(Spring Tool Suite)の環境作成と簡単なWebアプリの作成]

Struts1ももう過去の遺物になり、SAStrutsもEOLとなりも

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

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

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

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

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

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

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑