アジャイルソフトウェア開発技術シリーズ・応用編 リファクタリング

アジャイルソフトウェア開発技術シリーズ・応用編 リファクタリング

アジャイル開発技術を短時間で効率よく習得できるようにと考えられた実践的テキストで、基礎編と応用編から構成されている。

著者 長瀬 嘉秀 監修
設楽 秀輔
(株)テクノロジックアート
ジャンル 情報・コンピュータ
出版年月日 2013/05/01
ISBN 9784501551704
判型・ページ数 A5・196ページ
定価 本体2,500円+税
在庫 在庫あり

この本に関するお問い合わせ・感想

近年のソフトウェア開発には迅速・適応的・軽量が求められている。それに応えるべく登場したのがアジャイル手法である。すでに世界中で取り入れられ、数々の成果をあげている。本シリーズは、アジャイル開発技術を短時間で効率よく習得できるようにと考えられた実践的教科書で、基礎編と応用編から構成されている。あらゆるソフトウェア開発に必要な、プログラム言語、設計技術、開発プロセスを、全10巻の中で解説。基本的な解説、たくさんの応用例、ふんだんな演習問題と解答によって、理解が深まる。

 リファクタリングという技法は,アジャイル開発のプラクティス(実践手法)のひとつとして発展してきた。しかし現在では,リファクタリングという言葉そのものは,「コードをきれいにする」という程度の一般的な意味で,ソフトウェア開発者なら聞いたこと,使ったことがある方が多いだろう(正確な定義は本文参照)。しかし,その意義・意味をどれだけ正確に理解していただいているだろうか。
 よくある誤解の1つめは,技法も作法もなく,プログラマー個人の勘と経験でコードをきれいにすることを,リファクタリングとよんでいる場合である。リファクタリングには,プログラミング初心者であっても,安全にコードをきれいにするためのテクニックと手順がきちんと存在する。
 もう1つ,よくある誤解としては,リファクタリングを非常に小さいレベルでコードをきれいにするためだけの手法だと思っている場合である。たとえばメソッド内の条件分岐の構造をわかりやすくしたり,変数名を変更したりすることである。
 これも,もちろんリファクタリングの一種であるが,リファクタリングにはもっとさまざまな粒度のものも含まれる。クラス内で別メソッドをつくる,クラス間でフィールドやメソッドを移動する,クラス間の継承関係を変更する,さらにはデザインパターンの適用もリファクタリングのひとつである。とくにアジャイル開発では進化的設計が基本であるため,開発途中でソフトウェアの全体構造を変更する「アーキテクチャリファクタリング」を行なうことさえある。
 逆に,大きなレベルでのソフトウェアの構造変化のみを,リファクタリングと考えている場合もある。さらにこの場合は,「リファクタリングツール」とよばれる魔法のようなツールがあって,それを使えば,現状スパゲティ状態になっている構造がすぐにきれいになると誤解している場合もある。たしかにリファクタリングツールとよばれるものは存在するが,それはそんな魔法の道具ではない。小さいレベルのリファクタリングを安全に行えるように考えられたツールである。
 重要なことは,そのような小さいレベルのリファクタリングを積み上げることによって,大きな粒度の構造変更が行なえるということである。アーキテクチャリファクタリングも,小さいリファクタリングを着実に積み上げることで,初めて実施できる。
 これに伴って,ぜひとも認識して頂きたいことは,「設計を具現化しているのはコードである」ということだ。当然だと思われる方は,それで構わない。しかし,とくにウォータフォール的な開発になじんでいる方の一部には,設計とはUML(Unified Modeling Language)などを使って図を描き,さらに各メソッドをどのようにプラグラムするかというプログラミング指示書を書くことであり,実装者(プログラマー)は単純にそれをコードに変換するだけだと考えている人がいる。
 もちろん,UMLでクラス図を描いたり,設計書を書いたりすることも,設計という行為の一部である。しかしその設計の実体はどこにあるかといえば,コードにある。UMLやドキュメントはあくまでもモデルであり実体ではない。これはコミュニケーションの手段としてUMLやドキュメントの必要性を否定しているのではない。チームで設計の議論をするためにUMLを使ったり,今後のメンテナンスのためにドキュメントを残したりする必要はあるだろう。しかし,それはあくまでもコードのなかにある設計を人間にとってわかりやすくするための手段であって,コードとドキュメントのあいだに差異があれば,違っているのはつねにドキュメントの方である。
 つまり,いくらきれいな設計図があったとしても,コードがそれを具現化していなければ,よい設計のソフトウェアとはいえない。そのようなよくない設計(コード)をきれいな設計(コード)にすることが,リファクタリングである。行なっていることの1つ1つは,既存のコードから新規にメソッドを抽出したり,あるフィールドを別のクラスに移動したりという,単純なことである。しかし,それによってソフトウェアがきちんとコンポーネント化されたり,アーキテクチャレイヤー間の依存関係が疎になるなど,ソフトウェアの大きな構造を変えていることを念頭に置く必要がある。
 リファクタリングといえば,原典はマーチン・ファウラー著『リファクタリング』である。この書籍の内容は現在でも陳腐化していないし,本書で同じ内容を繰り返す必要もない。原典は「カタログ」として手元に置いていただきつつ,そのカタログに掲載されているリファクタリングを組み合わせた比較的大きなレベルの設計の変更を行ない,リファクタリングの意義や進め方を理解していただこうというのが,本書の目的である。

2013年3月
著者しるす
第1章 リファクタリング概要
 1.1 ソフトウェアの2つの価値
 1.2 リファクタリングとは
 1.3 リファクタリングとアジャイル開発との関わり
 1.4 いつリファクタリングするか
第2章 既存コード改善手順
 2.1 改善に必要なステップ
 2.2 演習:基本的なリファクタリング
 2.3 演習:昨日追加
第3章 リファクタリングとパターン
 3.1 リファクタリングとオブジェクト指向
 3.2 演習:Template Methodの導入
 3.3 演習:Template Methodの応用
第4章 コンポーネントレベルのリファクタリング
 4.1 コンポーネント概要
 4.2 被参照側のリファクタリング
 4.3 参照側のリファクタリング
 4.4 レイヤーパターンへの適用
第5章 組織的なリファクタリング
 5.1 組織的なリファクタリングの導入
 5.2 今後の展開
演習問題
解答
索引

ご注文

2,500円+税

カートに入れる

外部サイトで調べる

シェアする

このエントリーをはてなブックマークに追加

おすすめ書籍

お知らせ

一覧

2018.05.30 NEWS

『コンピュータとは何か?』読売新聞にて紹介!

2018.05.25 NEWS

平成30年度 東京電機大学学術振興基金「研究成果出版費援助」募集中!

2018.05.10 NEWS

『Inventorによる3D CAD入門』ロボコンマガジンに紹介

2018.05.09 イベント

『良書を誇る大学出版部特集』フェア開催

2018.05.02 NEWS

『スティーブ・ジョブズIV-楽園追放とピクサー創立-』毎日新聞に掲載!

2018.04.25 NEWS

『Inventorによる3D CAD入門』日刊工業新聞に掲載!

2018.04.13 NEWS

『学生力を高めるeポートフォリオ』 全私学新聞に掲載されました。

2018.03.28 NEWS

『学生力を高めるeポートフォリオ』 日刊工業新聞にて書籍紹介されました。

2018.03.20 NEWS

新刊情報 3月10日刊行『第一級陸上特殊無線技士試験 集中ゼミ 第3版』

2018.03.16 NEWS

新刊情報 3月15日刊行『Inventorによる3D CAD入門』

2018.03.15 NEWS

新刊情報 3月15日刊行『スティーブ・ジョブズⅣ』

2018.03.09 PR

『アマゾン・コムの野望』の著者 脇 英世氏がテレビ出演いたしました

2018.03.07 NEWS

『学生力を高めるeポートフォリオ』 ニュースリリース

2018.03.07 NEWS

新刊情報 2月20日刊行『学生力を高めるeポートフォリオ』

2018.03.07 PR

計測自動制御学会誌「計測と制御」書評掲載 『バッテリマネジメント工学』

2018.02.16 NEWS

2月23日,2月24日 試験本番! 航空無線通信士試験を突破しよう!!

2018.02.15 NEWS

新刊情報 2月20日刊行『電気法規と電気施設管理 平成30年度版』

2018.02.15 NEWS

本日2月15日より、HPをリニューアルいたしました。

2018.02.14 イベント

「築地本マルシェ」に東京電機大学出版局が出店いたします!

2018.02.02 PR

小局の書籍を,日刊工業新聞(2018年1月31日発行)に広告掲載しました。

2018.01.18 NEWS

航空無線通信士試験 定番対策本 2冊発売!

2018.01.08 PR

『社会シミュレーション』が2017年12月20日「化学工業日報」にて紹介

2017.12.17 PR

『社会シミュレーション』が、「日経エコロジー」2018年1月号にて紹介

2017.12.10 NEWS

ジュンク堂書店池袋本店:『スティーブ・ジョブズ』『スティーブ・ジョブズⅡ』紹介

2017.12.10 NEWS

情報処理技術者試験・情報処理安全確保支援士試験を突破しよう!! 厳選問題集発売!