リファクタリング本 - 人気 / 新書 / 高評価 書籍一覧 | 技術書の本だな


リファクタリング 人気本 ランキング

人気 1位
本書の内容
「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、
自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。

コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。
名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。
またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。  
内容サンプル
 
User Voice
 
   
人気 2位
本書の内容
開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを取り上げています。本書は、『Game Programming Patterns』の翻訳書です。米国アマゾンで60以上のレビューを集め、その9割が星5つと評価されています(2015年8月)。

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。
 
内容サンプル
 
User Voice
 
   
人気 3位
本書の内容
(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの1冊です。

(こんな方におすすめ)
・開発チームの生産性を上げたいエンジニア
・社内組織を改善したい経営者

(目次)
Chapter 1 思考のリファクタリング

1-1 すべてのバグは,思考の中にある
1-2 不確実性とエンジニアリング
1-3 情報を生み出す考え方
1-4 論理的思考の盲点
1-5 経験主義と仮説思考
1-6 全体論とシステム思考
1-7 人間の不完全さを受け入れる
Chapter 2 メンタリングの技術

2-1 メンタリングで相手の思考をリファクタリング
2-2 傾聴・可視化・リフレーミング
2-3 心理的安全性の作り方
2-4 内心でなく行動に注目する
Chapter 3 アジャイルなチームの原理

3-1 アジャイルはチームをメンタリングする技術
3-2 アジャイルの歴史
3-3 アジャイルをめぐる誤解
3-4 アジャイルの格率
Chapter 4 学習するチームと不確実性マネジメント

4-1 いかにして不確実性を管理するか
4-2 スケジュール予測と不確実性
4-3 要求の作り方とマーケット不安
4-4 スクラムと不安に向き合う振り返り
Chapter 5 技術組織の力学とアーキテクチャ

5-1 何が技術組織の“生産性”を下げるのか
5-2 権限委譲とアカウンタビリティ
5-3 技術的負債の正体
5-4 取引コストと技術組織
5-5 目標管理と透明性
5-6 組織設計とアーキテクチャ
 
内容サンプル
 
User Voice
 
   
人気 4位
本書の内容
ソフトウェア開発の名著、第2版登場!
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。  
内容サンプル
 
User Voice
 
   
人気 5位
本書の内容
歴史を変えた1冊、待望の改訂版誕生。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

※この電子書籍には付録DVDのデータは含んでおりません。電子書籍に記載のURLからPCでダウンロードしてお使い下さい。

「この本で初めてデザインパターンが理解できた」「UMLとイラストを交えた解説がとてもわかりやすい」と、多くの読者から絶賛された大ロングセラーの増補改訂版。原典『デザインパターン』で紹介された全23のパターンを、Javaによる実装を含めて解説。

2001年6月の初版刊行以来、「最もわかりやすいデザインパターン解説書」と、多くの読者から支持されてきた前著の増補改訂版です。改訂にあたっては、前著の内容を全面的に見直して、文章や表記をより適切な表現に改めています。また、デザインパターンについて、読者が誤解しやすい点、間違いやすい点を、「Q&A」として追加しています。デザインパターンについて学び、実践で利用したいプログラマはもちろん、オブジェクト指向の本質を理解したい人に最適の1冊です。

●目次
はじめに
UMLについて
デザインパターンを学ぶ前に
デザインパターンに慣れる
第1章 Iterator ― 1つ1つ数え上げる
第2章 Adapter ― 一皮かぶせて再利用
サブクラスにまかせる
第3章 Template Method ― 具体的な処理をサブクラスにまかせる
第4章 FactoryMethod ― インスタンス作成をサブクラスにまかせる
インスタンスを作る
第5章 Singleton ― たった1つのインスタンス
第6章 Prototype ― コピーしてインスタンスを作る
第7章 Builder ― 複雑なインスタンスを組み立てる
第8章 Abstract Factory ― 関連する部品を組み合わせて製品を作る
分けて考える
第9章 Bridge ― 機能の階層と実装の階層を分ける
第10章 Strategy ― アルゴリズムをごっそり切り替える
 ほか

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
 
   
人気 6位
本書の内容
※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機能しない場合があります。文字だけを拡大することはできません。
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。

ソフトウェア開発の名著、第2版登場!
 リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
 本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。


第2版翻訳にあたって
初版の「本書に寄せて」
はじめに
Chap.1 リファクタリング-最初の例
Chap.2 リファクタリングの原則
Chap.3 コードの不吉な臭い
Chap.4 テストの構築
Chap.5 カタログの紹介
Chap.6 リファクタリングはじめの一歩
Chap.7 カプセル化
Chap.8 特性の移動
Chap.9 データの再編成
Chap.10 条件記述の単純化
Chap.11 APIのリファクタリング
Chap.12 継承の取り扱い
文献リスト 
訳者あとがき
索引  
内容サンプル
 
User Voice
 
   
人気 7位
本書の内容
■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

レガシーコードとは、バグを多く含み、壊れやすく拡張が難しいコードを指します。
このようなコードの保守と管理には多大な労力がつぎ込まれることになります。
しかも一度作ってしまったレガシーコードの質を上げるには、初めから質の高いコードを作るよりも膨大なコストがかかります。

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。  
内容サンプル
 
User Voice
 
   
人気 8位
本書の内容
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。  
内容サンプル
 
User Voice
 
   
人気 9位
本書の内容

保守開発のためのリファクタリング!

本書は、システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処手法について解説します。つまり、「コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介している書籍です。

本書には、以下のことが記載されています。
●仕様が分からないコードの分析方法
●仕様が分からないコードの修正方法、またテストコードの追加方法
●コードの修正で、疎結合な設計に部分的に改善する方法

また、本書には、以下のことは記載されていません。
●COBOLなどで記述されているメインフレーム上のアプリケーションの改修方法

【 対象読者】
●現行のシステムが仕様が分からず保守作業に悩む、保守担当者
●現行のシステムの修正作業は可能であるもののデグレーションに悩む、保守担当者
●疎結合な設計手法を知りたい技術者

本書はJava、C、C++でサンプルを記述していますが、記載されているテクニックは言語依存するものではないため、他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
 
   
人気 10位
本書の内容
リファクタリングの入門書の決定版。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

どうすれば、きれいで読みやすいコードになるのか? 『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説。Javaによる実例満載したリファクタリング入門書の決定版。

●目次
第0章 リファクタリングとは
リファクタリングと「不吉な匂い」
リファクタリング・カタログ
リファクタリングのエッセンス
リファクタリングQ&A
(第1章~第4章では、コードを整える小規模のリファクタリングを学びます)
第1章《シンボリック定数によるマジックナンバーの置き換え》
第2章《制御フラグの削除》
第3章《アサーションの導入(表明の導入)》
第4章《ヌルオブジェクトの導入》
(第5章~第10章では、クラスを整える中規模のリファクタリングを学びます)
第5章《メソッドの抽出》
第6章《クラスの抽出》
第7章《クラスによるタイプコードの置き換え》
第8章《サブクラスによるタイプコードの置き換え》
第9章《State/Strategyによるタイプコードの置き換え》
第10章《例外によるエラーコードの置き換え》
(第11章~第15章では、クラスの関係を整える大規模のリファクタリングを学びます)
第11章《Factory Methodによるコンストラクタの置き換え》
第12章《観察されるデータの複製》
第13章《委譲による継承の置き換え》
第14章《委譲の隠蔽》
第15章《継承の分割》

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
 
   
人気 11位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 12位
本書の内容
新品未使用品です。店頭陳列しておりましたので、表紙にスレ傷などございますが、商品には問題ございません。一部ヤケ、スレなどがある場合がございますので、完全に新品が良い方はご遠慮下さいませ。ご注文後、Amazon.co.jp 配送センターより迅速に発送されます  
内容サンプル
 
User Voice
 
   
人気 13位
本書の内容
本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
User Voice
 
   
人気 14位
本書の内容
《本書は旧版です。改訂版が発売中です。》

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。

プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(“Refactoring:Improving the Design of Existing Code”)が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行!
旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。  
内容サンプル
 
User Voice
 
   
人気 15位
本書の内容
ソフトウエア開発の方法論を幅広く網羅した入門書。上巻は設計やプログラミング、下巻はテストやデバッグを扱う。1993年発行の第1版を、Webアプリケーションの普及などを踏まえて大幅に改定した。著者はソフトウエア工学の第一人者で、知識体系「SWEBOK」の構築を主導する。計1200ページを超える大部だが、ソフト開発プロセスを建築設計にたとえるなど、難解になりがちな内容を分かりやすくまとめている。
本書は効果的なコンストラクションプラクティスについての知識を集めた、実践的なプログラミング解説書です。ソフトウェア開発プラクティスは目覚しい進歩を遂げていますが、一般のプログラマにはなかなか浸透しません。本書は、業界の第一人者らの知識と、一般の商用プラクティスとの橋渡しをします。10年前の第1版とコンセプトは同じですが、第2版は、全体を通じてオブジェクト指向の考え方が反映されたものになっています。また、「リファクタリング」の章が追加され、サンプルコードはC++、C#、Java、Visual Basicなどにアップデートされています。本書は、ソフトウェア開発の総合ガイドを求めている経験豊富なプログラマ、経験の浅いプログラマを教育する技術指導者、正式なトレーニングを受けたことのない独学プログラマ、これから社会に出る学生や新人プログラマなどを特に対象としています。本書で説明されている研究成果や過去の経験は、高品質なソフトウェアを作成し、問題を少なく抑えて作業をより短期間で行うのに役立ちます。また、大きなプロジェクトを制御し、要求の変更に応じてソフトウェアの保守や修正を適切に行うのにも役立ちます。  
内容サンプル
 
User Voice
 
   
人気 16位
本書の内容
オブジェクト指向ソフトウェア設計の際に繰り返し現れる重要な部品をデザインパターンとして記録し、カタログ化。改訂版ではこれにCD−ROMを添付、現場でブラウザを通して即利用できるパターンカタログデジタル版を収録。特別付録として、原書にはないJavaのサンプルコードを追加。
【技術書翻訳名著シリーズ】
ソフトウェア開発のバイブル群! 弊社がこれまでに刊行した翻訳技術書の中から、長年読者から支持され続けている名著を厳選したのが、本シリーズです。移り変わりの激しいコンピュータ業界で、普遍性を保ち続ける定番をお届けします。ソフトウェア開発の上流から下流まで、入門書からエキスパート向けまで、技術者に求められる選りすぐりの情報がここにあります。
 
内容サンプル
 
User Voice
 
   
人気 17位
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

実践的なプログラミング技法の基礎から実装まで!

デザインパターンを「使うことができる」ためには、デザインパターンの構造や仕組みを知っているだけでは充分ではありません。「どのような状況」で「どんなふう」に使うのが効果的なのかを充分に理解している必要があります。そこで本書では、パターンの使いどころと効果をわかりやすく示すことで、どのようなときにどんなふうにデザインパターンを使えばよいのかを理解できるようにしています。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
 
   
人気 18位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 19位
本書の内容
(概要)
業務でVBAプログラムを組んでいる人の多くは,部署で一番パソコンやExcelに詳しいからという理由で任されていることも多く,プログラミングの基本的な素養や知識を知らない方も多いでしょう。このため,動けばOKといった,その場しのぎのコードを書いてしまいがちです。そういったコードは,あとから見直したり再利用する際にトラブルを起こしやすく,またどこになにが書いてあるかわかりにくいので,せっかくの生産性や効率性を落としがちです。本書は,そのようなVBAではじめてプログラムを組んだという人たちにプログラミングの基礎を示し,あとから見て読みやすく,変更や再利用に強いVBAプログラムの書き方を身につけるための本です。

(こんな方におすすめ)
・業務や趣味で初めて触ったプログラミング言語がVBAという人,VBA以外プログラミングしたことがない人
・独学でVBAプログラミングをやってきたけど,自分の書き方でよいのか自信のない人

(目次)
第1章 良いVBAのコードとは
1-1 そのVBAのコード,半年後の自分が理解できますか?
1-2 “良いコード”とはなんだろう?
1-3 本書の読み進め方

第2章 見た目にこだわる
2-1 理解しやすいコードは見た目も美しい
2-2 コードのまとまりをインデントしよう
2-3 まとまりごとに空行を入れよう
2-4 1行が長いコードは適度に改行しよう

第3章 適当な名前を付けない
3-1 読みやすいコードは名前もわかりやすい
3-2 プロシージャは機能がわかる名前を付けよう
3-3 変数や定数は用途がわかる名前を付けよう
3-4 変数名を変えてみよう
3-5 変数名の暗黙の了解

第4章 コメントを入れよう
4-1 たかがコメント,されどコメント
4-2 サンプルにコメントを入れてみよう
4-3 ポイントとなる箇所にコメントを入れよう

第5章 変数は必ず宣言して使おう
5-1 なぜ変数を宣言するのか
5-2 本書サンプルで変数を宣言してみよう
5-3 変数を宣言したことによる補完機能
5-4 変数宣言時にデータ型も指定しよう
5-5 本書サンプルでデータ型を指定してみよう
5-6 覚えておきたいオブジェクト変数のデータ型

第6章 数値や文字列は定数に置き換えよう
6-1 なぜ数値や文字列を直接記述してはいけないのか
6-2 定数定義のキホンをおさらい
6-3 サンプルで数値を定数化しよう
6-4 定数を定義して数値を置き換えよう
6-5 文字列も定数化して変化に強くしよう
6-6 定数を定義して文字列を置き換えよう
6-7 知っておきたい定数の知識やノウハウ

第7章 共通するコードはまとめよう
7-1 何度も登場するオブジェクトをまとめよう
7-2 サンプルの重複するオブジェクトを変数にまとめよう
7-3 Withステートメントで重複をまとめる
7-4 共通する処理はくくり出してまとめる
7-5 共通する処理をSubプロシージャにくくり出す
7-6 Subプロシージャの引数でちょっとした違いを吸収する
7-7 戻り値が必要ならFunctionプロシージャの出番
7-8 長いコードは機能別に小分けにしよう
7-9 変数を利用して賢くコードを分割しよう

第8章 変化やトラブルにもっと強いコードにする
8-1 表のデータの増減に自動対応可能にしよう
8-2 表の移動に自動対応可能にしよう
8-3 コードを整理してスッキリさせよう
8-4 予期しづらいトラブルの受け皿を用意しておく  
内容サンプル
 
User Voice
 
   
人気 20位
本書の内容
(概要)
Lisp・関数型プログラミングのメリットとは何か――副作用のないプログラミングがまず挙げられます。これでバグが圧倒的に少なくなります。さらにはコードの再利用がしやすいこと,並列処理が得意であるということも。それだけではありません。動的な型付けも特徴ですし,ラムダ計算もクロージャも,さらにはオブジェクト指向までできます。数十年の時を越えて現代にも通用する普遍的なアイデアがLispにはあります。本書はさまざまなLispプログラム(ハノイの塔,エイトクイーン,オンライン書店など)を解説し,さらにリファクタリングまでいっきに学びます。本書で関数型プログラミングのエッセンスを得ることができます。


(こんな方におすすめ)
・オブジェクト指向プログラマ
・昔からのLispプログラマ

(目次)
第1章 関数型プログラミングとは何か――そして,それがなぜ難しいのか?

第2章 関数型プログラミングを学ぶためのLisp超入門

第3章 関数型プログラミングの基本

第4章 プログラミングパラダイムの比較

第5章 関数型プログラミングの演習

第6章 関数型プログラムの評価とリファクタリング  
内容サンプル
 
User Voice
 
   
人気 21位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 22位
本書の内容
アジャイルなソフトウェア開発の実践において、プログラムの改善にリファクタリングは欠かせません。
同様に、プロジェクトを本当の意味で改善するためには、開発にかかわる人間の脳(ウェットウェア)をリファクタリングすることが重要だと思いませんか?
そこで、認知科学、神経科学、学習理論、行動理論などを駆使し、人間の脳がどのように機能するかを明らかにします。

本書で紹介するテクニックを実践すれば、読者の学習スキルおよび思考スキルは向上、日々の生産性を20%から30%改善できると著者は主張します。
名著『達人プログラマー』の著者、アンディ・ハントが語る「あなたの脳をリファクタリングする」方法です。  
内容サンプル
 
User Voice
 
   
人気 23位
本書の内容
「デザインパターン(パターン)」を目指して「リファクタリング」する手法を解説し、パターンとリファクタリングの両方が学べる実践的な教科書です。リファクタリングは、ソフトウエアの持つ機能はそのままに、構造を見直す作業であり、開発過程で複雑になっていくプログラムを改善し、バグを減らし、機能拡張にも有効です。そのリファクタリングの際、「パターン」を取り入れたり近づけたりするようにプログラムを改善していくのが、本書で紹介する「パターン指向リファクタリング」です。リファクタリングの道しるべとして「パターン」をとらえることで、リファクタリングの幅が広がる一方で、デザインパターンがどういったものかは理解しつつも、なかなか実際のソフトウエアの設計でうまく生かせない方には、パターンの有効な使い方が学べます。「まえがき」は、『リファクタリング』の著者マーチン・ファウラーと、『デザインパターン』の著者ラルフ・ジョンソンが執筆。本書『Refactoring to Patterns』は、米Software Development誌、2005年Jolt Productivity Awardを受賞。
 
内容サンプル
 
User Voice
 
   
人気 24位
本書の内容
リファクタリングは、システムデザインの改善や保守性、拡張性、パフォーマンスの向上
など、開発での幅広い有効性が証明されてきました。本書は、データベースシステムのために設計された強力なリファクタリング・テクニックを紹介しています。テーブル構造やデータ、トリガーなどをほんの少し手直しするだけで、どんなデータベースデザインも強化でき、無駄な再作業や余分なコストを省くことができるようになります。また、一連の決まったプラクティスの概略が述べられており、データベースの設計・開発にたいして、アジャイルな手法をどう取り入れるべきかが明確に示されています。不可能だといわれていたデータベースのリファクタリング・テクニックを確立したのは、アジャイル手法の第一人者スコット・アンブラーと高名なコンサルタントピラモト・サダラージ。彼らのおかげで、エンタープライズアプリケーションアーキテクチャに携わる開発者やデータベースの専門家は、自信を持って、しかも安全にデータベース設計に変化を取り入れることができるようになるでしょう。  
内容サンプル
 
User Voice
 
   
人気 25位
本書の内容
本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。


 
内容サンプル
 
User Voice
 
   
人気 26位
本書の内容
Rubyを使うエンジニア必読の書!
Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊!

Ruby初級者~中級者におすすめ。リファクタリングを網羅的にまとめた名著でありながら、絶版になり古書価も高騰していました。
読者の方々の熱い声に応えての復刊です。

※本書は、2010年・アスキー・メディアワークス刊『リファクタリング: Rubyエディション』を復刻するものです。  
内容サンプル
 
User Voice
 
   
人気 27位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 28位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 29位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 30位
本書の内容
 
内容サンプル
 
User Voice
 
   
人気 31位
本書の内容
 
内容サンプル
 
User Voice
 
   

リファクタリング 新書一覧

本書の内容
Rubyを使うエンジニア必読の書!
Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊!

Ruby初級者~中級者におすすめ。リファクタリングを網羅的にまとめた名著でありながら、絶版になり古書価も高騰していました。
読者の方々の熱い声に応えての復刊です。

※本書は、2010年・アスキー・メディアワークス刊『リファクタリング: Rubyエディション』を復刻するものです。  
内容サンプル
 
User Voice
 
   
本書の内容
※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機能しない場合があります。文字だけを拡大することはできません。
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。

ソフトウェア開発の名著、第2版登場!
 リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
 本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。


第2版翻訳にあたって
初版の「本書に寄せて」
はじめに
Chap.1 リファクタリング-最初の例
Chap.2 リファクタリングの原則
Chap.3 コードの不吉な臭い
Chap.4 テストの構築
Chap.5 カタログの紹介
Chap.6 リファクタリングはじめの一歩
Chap.7 カプセル化
Chap.8 特性の移動
Chap.9 データの再編成
Chap.10 条件記述の単純化
Chap.11 APIのリファクタリング
Chap.12 継承の取り扱い
文献リスト 
訳者あとがき
索引  
内容サンプル
 
User Voice
 
   
本書の内容
(概要)
業務でVBAプログラムを組んでいる人の多くは,部署で一番パソコンやExcelに詳しいからという理由で任されていることも多く,プログラミングの基本的な素養や知識を知らない方も多いでしょう。このため,動けばOKといった,その場しのぎのコードを書いてしまいがちです。そういったコードは,あとから見直したり再利用する際にトラブルを起こしやすく,またどこになにが書いてあるかわかりにくいので,せっかくの生産性や効率性を落としがちです。本書は,そのようなVBAではじめてプログラムを組んだという人たちにプログラミングの基礎を示し,あとから見て読みやすく,変更や再利用に強いVBAプログラムの書き方を身につけるための本です。

(こんな方におすすめ)
・業務や趣味で初めて触ったプログラミング言語がVBAという人,VBA以外プログラミングしたことがない人
・独学でVBAプログラミングをやってきたけど,自分の書き方でよいのか自信のない人

(目次)
第1章 良いVBAのコードとは
1-1 そのVBAのコード,半年後の自分が理解できますか?
1-2 “良いコード”とはなんだろう?
1-3 本書の読み進め方

第2章 見た目にこだわる
2-1 理解しやすいコードは見た目も美しい
2-2 コードのまとまりをインデントしよう
2-3 まとまりごとに空行を入れよう
2-4 1行が長いコードは適度に改行しよう

第3章 適当な名前を付けない
3-1 読みやすいコードは名前もわかりやすい
3-2 プロシージャは機能がわかる名前を付けよう
3-3 変数や定数は用途がわかる名前を付けよう
3-4 変数名を変えてみよう
3-5 変数名の暗黙の了解

第4章 コメントを入れよう
4-1 たかがコメント,されどコメント
4-2 サンプルにコメントを入れてみよう
4-3 ポイントとなる箇所にコメントを入れよう

第5章 変数は必ず宣言して使おう
5-1 なぜ変数を宣言するのか
5-2 本書サンプルで変数を宣言してみよう
5-3 変数を宣言したことによる補完機能
5-4 変数宣言時にデータ型も指定しよう
5-5 本書サンプルでデータ型を指定してみよう
5-6 覚えておきたいオブジェクト変数のデータ型

第6章 数値や文字列は定数に置き換えよう
6-1 なぜ数値や文字列を直接記述してはいけないのか
6-2 定数定義のキホンをおさらい
6-3 サンプルで数値を定数化しよう
6-4 定数を定義して数値を置き換えよう
6-5 文字列も定数化して変化に強くしよう
6-6 定数を定義して文字列を置き換えよう
6-7 知っておきたい定数の知識やノウハウ

第7章 共通するコードはまとめよう
7-1 何度も登場するオブジェクトをまとめよう
7-2 サンプルの重複するオブジェクトを変数にまとめよう
7-3 Withステートメントで重複をまとめる
7-4 共通する処理はくくり出してまとめる
7-5 共通する処理をSubプロシージャにくくり出す
7-6 Subプロシージャの引数でちょっとした違いを吸収する
7-7 戻り値が必要ならFunctionプロシージャの出番
7-8 長いコードは機能別に小分けにしよう
7-9 変数を利用して賢くコードを分割しよう

第8章 変化やトラブルにもっと強いコードにする
8-1 表のデータの増減に自動対応可能にしよう
8-2 表の移動に自動対応可能にしよう
8-3 コードを整理してスッキリさせよう
8-4 予期しづらいトラブルの受け皿を用意しておく  
内容サンプル
 
User Voice
 
   
本書の内容
■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

レガシーコードとは、バグを多く含み、壊れやすく拡張が難しいコードを指します。
このようなコードの保守と管理には多大な労力がつぎ込まれることになります。
しかも一度作ってしまったレガシーコードの質を上げるには、初めから質の高いコードを作るよりも膨大なコストがかかります。

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの1冊です。

(こんな方におすすめ)
・開発チームの生産性を上げたいエンジニア
・社内組織を改善したい経営者

(目次)
Chapter 1 思考のリファクタリング

1-1 すべてのバグは,思考の中にある
1-2 不確実性とエンジニアリング
1-3 情報を生み出す考え方
1-4 論理的思考の盲点
1-5 経験主義と仮説思考
1-6 全体論とシステム思考
1-7 人間の不完全さを受け入れる
Chapter 2 メンタリングの技術

2-1 メンタリングで相手の思考をリファクタリング
2-2 傾聴・可視化・リフレーミング
2-3 心理的安全性の作り方
2-4 内心でなく行動に注目する
Chapter 3 アジャイルなチームの原理

3-1 アジャイルはチームをメンタリングする技術
3-2 アジャイルの歴史
3-3 アジャイルをめぐる誤解
3-4 アジャイルの格率
Chapter 4 学習するチームと不確実性マネジメント

4-1 いかにして不確実性を管理するか
4-2 スケジュール予測と不確実性
4-3 要求の作り方とマーケット不安
4-4 スクラムと不安に向き合う振り返り
Chapter 5 技術組織の力学とアーキテクチャ

5-1 何が技術組織の“生産性”を下げるのか
5-2 権限委譲とアカウンタビリティ
5-3 技術的負債の正体
5-4 取引コストと技術組織
5-5 目標管理と透明性
5-6 組織設計とアーキテクチャ
 
内容サンプル
 
User Voice
 
   
本書の内容
《本書は旧版です。改訂版が発売中です。》

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。

プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(“Refactoring:Improving the Design of Existing Code”)が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行!
旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。  
内容サンプル
 
User Voice
 
   
本書の内容
(概要)
Lisp・関数型プログラミングのメリットとは何か――副作用のないプログラミングがまず挙げられます。これでバグが圧倒的に少なくなります。さらにはコードの再利用がしやすいこと,並列処理が得意であるということも。それだけではありません。動的な型付けも特徴ですし,ラムダ計算もクロージャも,さらにはオブジェクト指向までできます。数十年の時を越えて現代にも通用する普遍的なアイデアがLispにはあります。本書はさまざまなLispプログラム(ハノイの塔,エイトクイーン,オンライン書店など)を解説し,さらにリファクタリングまでいっきに学びます。本書で関数型プログラミングのエッセンスを得ることができます。


(こんな方におすすめ)
・オブジェクト指向プログラマ
・昔からのLispプログラマ

(目次)
第1章 関数型プログラミングとは何か――そして,それがなぜ難しいのか?

第2章 関数型プログラミングを学ぶためのLisp超入門

第3章 関数型プログラミングの基本

第4章 プログラミングパラダイムの比較

第5章 関数型プログラミングの演習

第6章 関数型プログラムの評価とリファクタリング  
内容サンプル
 
User Voice
 
   
本書の内容

保守開発のためのリファクタリング!

本書は、システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処手法について解説します。つまり、「コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介している書籍です。

本書には、以下のことが記載されています。
●仕様が分からないコードの分析方法
●仕様が分からないコードの修正方法、またテストコードの追加方法
●コードの修正で、疎結合な設計に部分的に改善する方法

また、本書には、以下のことは記載されていません。
●COBOLなどで記述されているメインフレーム上のアプリケーションの改修方法

【 対象読者】
●現行のシステムが仕様が分からず保守作業に悩む、保守担当者
●現行のシステムの修正作業は可能であるもののデグレーションに悩む、保守担当者
●疎結合な設計手法を知りたい技術者

本書はJava、C、C++でサンプルを記述していますが、記載されているテクニックは言語依存するものではないため、他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
 
   
本書の内容
開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを取り上げています。本書は、『Game Programming Patterns』の翻訳書です。米国アマゾンで60以上のレビューを集め、その9割が星5つと評価されています(2015年8月)。

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。
 
内容サンプル
 
User Voice
 
   
本書の内容
本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。


 
内容サンプル
 
User Voice
 
   
本書の内容

【本電子書籍は固定レイアウトのため7インチ以上の端末での利用を推奨しております。文字列のハイライトや検索、辞書の参照、引用などの機能が使用できません。ご購入前に、無料サンプルにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください】

実践的なプログラミング技法の基礎から実装まで!

デザインパターンを「使うことができる」ためには、デザインパターンの構造や仕組みを知っているだけでは充分ではありません。「どのような状況」で「どんなふう」に使うのが効果的なのかを充分に理解している必要があります。そこで本書では、パターンの使いどころと効果をわかりやすく示すことで、どのようなときにどんなふうにデザインパターンを使えばよいのかを理解できるようにしています。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
 
   
本書の内容
ソフトウエア開発の方法論を幅広く網羅した入門書。上巻は設計やプログラミング、下巻はテストやデバッグを扱う。1993年発行の第1版を、Webアプリケーションの普及などを踏まえて大幅に改定した。著者はソフトウエア工学の第一人者で、知識体系「SWEBOK」の構築を主導する。計1200ページを超える大部だが、ソフト開発プロセスを建築設計にたとえるなど、難解になりがちな内容を分かりやすくまとめている。
本書は効果的なコンストラクションプラクティスについての知識を集めた、実践的なプログラミング解説書です。ソフトウェア開発プラクティスは目覚しい進歩を遂げていますが、一般のプログラマにはなかなか浸透しません。本書は、業界の第一人者らの知識と、一般の商用プラクティスとの橋渡しをします。10年前の第1版とコンセプトは同じですが、第2版は、全体を通じてオブジェクト指向の考え方が反映されたものになっています。また、「リファクタリング」の章が追加され、サンプルコードはC++、C#、Java、Visual Basicなどにアップデートされています。本書は、ソフトウェア開発の総合ガイドを求めている経験豊富なプログラマ、経験の浅いプログラマを教育する技術指導者、正式なトレーニングを受けたことのない独学プログラマ、これから社会に出る学生や新人プログラマなどを特に対象としています。本書で説明されている研究成果や過去の経験は、高品質なソフトウェアを作成し、問題を少なく抑えて作業をより短期間で行うのに役立ちます。また、大きなプロジェクトを制御し、要求の変更に応じてソフトウェアの保守や修正を適切に行うのにも役立ちます。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
歴史を変えた1冊、待望の改訂版誕生。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

※この電子書籍には付録DVDのデータは含んでおりません。電子書籍に記載のURLからPCでダウンロードしてお使い下さい。

「この本で初めてデザインパターンが理解できた」「UMLとイラストを交えた解説がとてもわかりやすい」と、多くの読者から絶賛された大ロングセラーの増補改訂版。原典『デザインパターン』で紹介された全23のパターンを、Javaによる実装を含めて解説。

2001年6月の初版刊行以来、「最もわかりやすいデザインパターン解説書」と、多くの読者から支持されてきた前著の増補改訂版です。改訂にあたっては、前著の内容を全面的に見直して、文章や表記をより適切な表現に改めています。また、デザインパターンについて、読者が誤解しやすい点、間違いやすい点を、「Q&A」として追加しています。デザインパターンについて学び、実践で利用したいプログラマはもちろん、オブジェクト指向の本質を理解したい人に最適の1冊です。

●目次
はじめに
UMLについて
デザインパターンを学ぶ前に
デザインパターンに慣れる
第1章 Iterator ― 1つ1つ数え上げる
第2章 Adapter ― 一皮かぶせて再利用
サブクラスにまかせる
第3章 Template Method ― 具体的な処理をサブクラスにまかせる
第4章 FactoryMethod ― インスタンス作成をサブクラスにまかせる
インスタンスを作る
第5章 Singleton ― たった1つのインスタンス
第6章 Prototype ― コピーしてインスタンスを作る
第7章 Builder ― 複雑なインスタンスを組み立てる
第8章 Abstract Factory ― 関連する部品を組み合わせて製品を作る
分けて考える
第9章 Bridge ― 機能の階層と実装の階層を分ける
第10章 Strategy ― アルゴリズムをごっそり切り替える
 ほか

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
 
   
本書の内容
リファクタリングの入門書の決定版。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

どうすれば、きれいで読みやすいコードになるのか? 『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説。Javaによる実例満載したリファクタリング入門書の決定版。

●目次
第0章 リファクタリングとは
リファクタリングと「不吉な匂い」
リファクタリング・カタログ
リファクタリングのエッセンス
リファクタリングQ&A
(第1章~第4章では、コードを整える小規模のリファクタリングを学びます)
第1章《シンボリック定数によるマジックナンバーの置き換え》
第2章《制御フラグの削除》
第3章《アサーションの導入(表明の導入)》
第4章《ヌルオブジェクトの導入》
(第5章~第10章では、クラスを整える中規模のリファクタリングを学びます)
第5章《メソッドの抽出》
第6章《クラスの抽出》
第7章《クラスによるタイプコードの置き換え》
第8章《サブクラスによるタイプコードの置き換え》
第9章《State/Strategyによるタイプコードの置き換え》
第10章《例外によるエラーコードの置き換え》
(第11章~第15章では、クラスの関係を整える大規模のリファクタリングを学びます)
第11章《Factory Methodによるコンストラクタの置き換え》
第12章《観察されるデータの複製》
第13章《委譲による継承の置き換え》
第14章《委譲の隠蔽》
第15章《継承の分割》

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
 
   
本書の内容
本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、
自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。

コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。
名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。
またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
アジャイルなソフトウェア開発の実践において、プログラムの改善にリファクタリングは欠かせません。
同様に、プロジェクトを本当の意味で改善するためには、開発にかかわる人間の脳(ウェットウェア)をリファクタリングすることが重要だと思いませんか?
そこで、認知科学、神経科学、学習理論、行動理論などを駆使し、人間の脳がどのように機能するかを明らかにします。

本書で紹介するテクニックを実践すれば、読者の学習スキルおよび思考スキルは向上、日々の生産性を20%から30%改善できると著者は主張します。
名著『達人プログラマー』の著者、アンディ・ハントが語る「あなたの脳をリファクタリングする」方法です。  
内容サンプル
 
User Voice
 
   
本書の内容
リファクタリングは、システムデザインの改善や保守性、拡張性、パフォーマンスの向上
など、開発での幅広い有効性が証明されてきました。本書は、データベースシステムのために設計された強力なリファクタリング・テクニックを紹介しています。テーブル構造やデータ、トリガーなどをほんの少し手直しするだけで、どんなデータベースデザインも強化でき、無駄な再作業や余分なコストを省くことができるようになります。また、一連の決まったプラクティスの概略が述べられており、データベースの設計・開発にたいして、アジャイルな手法をどう取り入れるべきかが明確に示されています。不可能だといわれていたデータベースのリファクタリング・テクニックを確立したのは、アジャイル手法の第一人者スコット・アンブラーと高名なコンサルタントピラモト・サダラージ。彼らのおかげで、エンタープライズアプリケーションアーキテクチャに携わる開発者やデータベースの専門家は、自信を持って、しかも安全にデータベース設計に変化を取り入れることができるようになるでしょう。  
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。  
内容サンプル
 
User Voice
 
   
本書の内容
「デザインパターン(パターン)」を目指して「リファクタリング」する手法を解説し、パターンとリファクタリングの両方が学べる実践的な教科書です。リファクタリングは、ソフトウエアの持つ機能はそのままに、構造を見直す作業であり、開発過程で複雑になっていくプログラムを改善し、バグを減らし、機能拡張にも有効です。そのリファクタリングの際、「パターン」を取り入れたり近づけたりするようにプログラムを改善していくのが、本書で紹介する「パターン指向リファクタリング」です。リファクタリングの道しるべとして「パターン」をとらえることで、リファクタリングの幅が広がる一方で、デザインパターンがどういったものかは理解しつつも、なかなか実際のソフトウエアの設計でうまく生かせない方には、パターンの有効な使い方が学べます。「まえがき」は、『リファクタリング』の著者マーチン・ファウラーと、『デザインパターン』の著者ラルフ・ジョンソンが執筆。本書『Refactoring to Patterns』は、米Software Development誌、2005年Jolt Productivity Awardを受賞。
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
オブジェクト指向ソフトウェア設計の際に繰り返し現れる重要な部品をデザインパターンとして記録し、カタログ化。改訂版ではこれにCD−ROMを添付、現場でブラウザを通して即利用できるパターンカタログデジタル版を収録。特別付録として、原書にはないJavaのサンプルコードを追加。
【技術書翻訳名著シリーズ】
ソフトウェア開発のバイブル群! 弊社がこれまでに刊行した翻訳技術書の中から、長年読者から支持され続けている名著を厳選したのが、本シリーズです。移り変わりの激しいコンピュータ業界で、普遍性を保ち続ける定番をお届けします。ソフトウェア開発の上流から下流まで、入門書からエキスパート向けまで、技術者に求められる選りすぐりの情報がここにあります。
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
 
内容サンプル
 
User Voice
 
   
本書の内容
新品未使用品です。店頭陳列しておりましたので、表紙にスレ傷などございますが、商品には問題ございません。一部ヤケ、スレなどがある場合がございますので、完全に新品が良い方はご遠慮下さいませ。ご注文後、Amazon.co.jp 配送センターより迅速に発送されます  
内容サンプル
 
User Voice
 
   

リファクタリング 高評価のおすすめ本 ランキング

人気 1位
本書の内容
開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを取り上げています。本書は、『Game Programming Patterns』の翻訳書です。米国アマゾンで60以上のレビューを集め、その9割が星5つと評価されています(2015年8月)。

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。
 
内容サンプル
 
User Voice
 
   
人気 2位
本書の内容
※このKindle本はプリント・レプリカ形式で、Kindle Paperwhiteなどの電子書籍リーダーおよびKindle Cloud Readerではご利用いただけません。Fireなどの大きいディスプレイを備えたタブレット端末や、Kindle無料アプリ (Kindle for iOS、Kindle for Android、Kindle for PC、Kindle for Mac) でのみご利用可能です。また、文字列のハイライト、検索、辞書の参照、引用については、一部機能しない場合があります。文字だけを拡大することはできません。
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。

ソフトウェア開発の名著、第2版登場!
 リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
 本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。


第2版翻訳にあたって
初版の「本書に寄せて」
はじめに
Chap.1 リファクタリング-最初の例
Chap.2 リファクタリングの原則
Chap.3 コードの不吉な臭い
Chap.4 テストの構築
Chap.5 カタログの紹介
Chap.6 リファクタリングはじめの一歩
Chap.7 カプセル化
Chap.8 特性の移動
Chap.9 データの再編成
Chap.10 条件記述の単純化
Chap.11 APIのリファクタリング
Chap.12 継承の取り扱い
文献リスト 
訳者あとがき
索引  
内容サンプル
 
User Voice
 
   
人気 3位
本書の内容
「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、
自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。

コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。
名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。
またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。  
内容サンプル
 
User Voice
 
   
人気 4位
本書の内容
ソフトウエア開発の方法論を幅広く網羅した入門書。上巻は設計やプログラミング、下巻はテストやデバッグを扱う。1993年発行の第1版を、Webアプリケーションの普及などを踏まえて大幅に改定した。著者はソフトウエア工学の第一人者で、知識体系「SWEBOK」の構築を主導する。計1200ページを超える大部だが、ソフト開発プロセスを建築設計にたとえるなど、難解になりがちな内容を分かりやすくまとめている。
本書は効果的なコンストラクションプラクティスについての知識を集めた、実践的なプログラミング解説書です。ソフトウェア開発プラクティスは目覚しい進歩を遂げていますが、一般のプログラマにはなかなか浸透しません。本書は、業界の第一人者らの知識と、一般の商用プラクティスとの橋渡しをします。10年前の第1版とコンセプトは同じですが、第2版は、全体を通じてオブジェクト指向の考え方が反映されたものになっています。また、「リファクタリング」の章が追加され、サンプルコードはC++、C#、Java、Visual Basicなどにアップデートされています。本書は、ソフトウェア開発の総合ガイドを求めている経験豊富なプログラマ、経験の浅いプログラマを教育する技術指導者、正式なトレーニングを受けたことのない独学プログラマ、これから社会に出る学生や新人プログラマなどを特に対象としています。本書で説明されている研究成果や過去の経験は、高品質なソフトウェアを作成し、問題を少なく抑えて作業をより短期間で行うのに役立ちます。また、大きなプロジェクトを制御し、要求の変更に応じてソフトウェアの保守や修正を適切に行うのにも役立ちます。  
内容サンプル
 
User Voice
 
   
人気 5位
本書の内容

保守開発のためのリファクタリング!

本書は、システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処手法について解説します。つまり、「コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介している書籍です。

本書には、以下のことが記載されています。
●仕様が分からないコードの分析方法
●仕様が分からないコードの修正方法、またテストコードの追加方法
●コードの修正で、疎結合な設計に部分的に改善する方法

また、本書には、以下のことは記載されていません。
●COBOLなどで記述されているメインフレーム上のアプリケーションの改修方法

【 対象読者】
●現行のシステムが仕様が分からず保守作業に悩む、保守担当者
●現行のシステムの修正作業は可能であるもののデグレーションに悩む、保守担当者
●疎結合な設計手法を知りたい技術者

本書はJava、C、C++でサンプルを記述していますが、記載されているテクニックは言語依存するものではないため、他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。

※本電子書籍は同名出版物を底本として作成しました。記載内容は印刷出版当時のものです。
※印刷出版再現のため電子書籍としては不要な情報を含んでいる場合があります。
※印刷出版とは異なる表記・表現の場合があります。予めご了承ください。
※プレビューにてお手持ちの電子端末での表示状態をご確認の上、商品をお買い求めください。

 
内容サンプル
 
User Voice
 
   
人気 6位
本書の内容
歴史を変えた1冊、待望の改訂版誕生。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

※この電子書籍には付録DVDのデータは含んでおりません。電子書籍に記載のURLからPCでダウンロードしてお使い下さい。

「この本で初めてデザインパターンが理解できた」「UMLとイラストを交えた解説がとてもわかりやすい」と、多くの読者から絶賛された大ロングセラーの増補改訂版。原典『デザインパターン』で紹介された全23のパターンを、Javaによる実装を含めて解説。

2001年6月の初版刊行以来、「最もわかりやすいデザインパターン解説書」と、多くの読者から支持されてきた前著の増補改訂版です。改訂にあたっては、前著の内容を全面的に見直して、文章や表記をより適切な表現に改めています。また、デザインパターンについて、読者が誤解しやすい点、間違いやすい点を、「Q&A」として追加しています。デザインパターンについて学び、実践で利用したいプログラマはもちろん、オブジェクト指向の本質を理解したい人に最適の1冊です。

●目次
はじめに
UMLについて
デザインパターンを学ぶ前に
デザインパターンに慣れる
第1章 Iterator ― 1つ1つ数え上げる
第2章 Adapter ― 一皮かぶせて再利用
サブクラスにまかせる
第3章 Template Method ― 具体的な処理をサブクラスにまかせる
第4章 FactoryMethod ― インスタンス作成をサブクラスにまかせる
インスタンスを作る
第5章 Singleton ― たった1つのインスタンス
第6章 Prototype ― コピーしてインスタンスを作る
第7章 Builder ― 複雑なインスタンスを組み立てる
第8章 Abstract Factory ― 関連する部品を組み合わせて製品を作る
分けて考える
第9章 Bridge ― 機能の階層と実装の階層を分ける
第10章 Strategy ― アルゴリズムをごっそり切り替える
 ほか

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
 
   
人気 7位
本書の内容
本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
User Voice
 
   
人気 8位
本書の内容
■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

レガシーコードとは、バグを多く含み、壊れやすく拡張が難しいコードを指します。
このようなコードの保守と管理には多大な労力がつぎ込まれることになります。
しかも一度作ってしまったレガシーコードの質を上げるには、初めから質の高いコードを作るよりも膨大なコストがかかります。

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。  
内容サンプル
 
User Voice
 
   
人気 9位
本書の内容
リファクタリングの入門書の決定版。

※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。

どうすれば、きれいで読みやすいコードになるのか? 『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説。Javaによる実例満載したリファクタリング入門書の決定版。

●目次
第0章 リファクタリングとは
リファクタリングと「不吉な匂い」
リファクタリング・カタログ
リファクタリングのエッセンス
リファクタリングQ&A
(第1章~第4章では、コードを整える小規模のリファクタリングを学びます)
第1章《シンボリック定数によるマジックナンバーの置き換え》
第2章《制御フラグの削除》
第3章《アサーションの導入(表明の導入)》
第4章《ヌルオブジェクトの導入》
(第5章~第10章では、クラスを整える中規模のリファクタリングを学びます)
第5章《メソッドの抽出》
第6章《クラスの抽出》
第7章《クラスによるタイプコードの置き換え》
第8章《サブクラスによるタイプコードの置き換え》
第9章《State/Strategyによるタイプコードの置き換え》
第10章《例外によるエラーコードの置き換え》
(第11章~第15章では、クラスの関係を整える大規模のリファクタリングを学びます)
第11章《Factory Methodによるコンストラクタの置き換え》
第12章《観察されるデータの複製》
第13章《委譲による継承の置き換え》
第14章《委譲の隠蔽》
第15章《継承の分割》

固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。

■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用

■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
 
内容サンプル
 
User Voice
 
   
人気 10位
本書の内容
《本書は旧版です。改訂版が発売中です。》

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。

プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(“Refactoring:Improving the Design of Existing Code”)が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行!
旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。  
内容サンプル
 
User Voice
 
   
人気 11位
本書の内容
本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。


 
内容サンプル
 
User Voice
 
   
人気 12位
本書の内容
(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの1冊です。

(こんな方におすすめ)
・開発チームの生産性を上げたいエンジニア
・社内組織を改善したい経営者

(目次)
Chapter 1 思考のリファクタリング

1-1 すべてのバグは,思考の中にある
1-2 不確実性とエンジニアリング
1-3 情報を生み出す考え方
1-4 論理的思考の盲点
1-5 経験主義と仮説思考
1-6 全体論とシステム思考
1-7 人間の不完全さを受け入れる
Chapter 2 メンタリングの技術

2-1 メンタリングで相手の思考をリファクタリング
2-2 傾聴・可視化・リフレーミング
2-3 心理的安全性の作り方
2-4 内心でなく行動に注目する
Chapter 3 アジャイルなチームの原理

3-1 アジャイルはチームをメンタリングする技術
3-2 アジャイルの歴史
3-3 アジャイルをめぐる誤解
3-4 アジャイルの格率
Chapter 4 学習するチームと不確実性マネジメント

4-1 いかにして不確実性を管理するか
4-2 スケジュール予測と不確実性
4-3 要求の作り方とマーケット不安
4-4 スクラムと不安に向き合う振り返り
Chapter 5 技術組織の力学とアーキテクチャ

5-1 何が技術組織の“生産性”を下げるのか
5-2 権限委譲とアカウンタビリティ
5-3 技術的負債の正体
5-4 取引コストと技術組織
5-5 目標管理と透明性
5-6 組織設計とアーキテクチャ
 
内容サンプル
 
User Voice
 
   
人気 13位
本書の内容
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。  
内容サンプル
 
User Voice
 
   
人気 14位
本書の内容
アジャイルなソフトウェア開発の実践において、プログラムの改善にリファクタリングは欠かせません。
同様に、プロジェクトを本当の意味で改善するためには、開発にかかわる人間の脳(ウェットウェア)をリファクタリングすることが重要だと思いませんか?
そこで、認知科学、神経科学、学習理論、行動理論などを駆使し、人間の脳がどのように機能するかを明らかにします。

本書で紹介するテクニックを実践すれば、読者の学習スキルおよび思考スキルは向上、日々の生産性を20%から30%改善できると著者は主張します。
名著『達人プログラマー』の著者、アンディ・ハントが語る「あなたの脳をリファクタリングする」方法です。  
内容サンプル
 
User Voice
 
   

Copyrights hogehoge