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


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

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

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

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。  
内容サンプル
 
ユーザーレビュー
仕事、趣味問わずプログラミングをする方におすすめです!内容は言語ではなく誰が見ても理解できるコードを書くには?をテーマに書いてます。勉強になりました!
コーディング界隈でよく名前の挙がる名著ですが、非常に読みやすく、短期間で読了できました。 初学者からベテランまで活用できる内容となっております。
わかりやすいイラストと例え、そしてカジュアルな語り口でともすれば難解になりがちなプログラミングの概念を学ぶことができました。
 
   
人気 2位
本書の内容
(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの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 組織設計とアーキテクチャ
 
内容サンプル
 
ユーザーレビュー
 
   
人気 3位
本書の内容
こちらの書籍は 2022/05/31 紙版の3刷に対応するため更新をおこないました。
(概要)

TypeScriptは、JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では、根幹となるJavaScriptの仕様・機能とともに、TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。

静的型付き言語は世にいくつもありますが、TypeScriptの型システムは他に類を見ない高い表現力を持っています。本書の読者が、型の有効性を理解しTypeScriptらしいコードを書けるようになるために、本書では、プログラムの安全性を高める基本的な型の扱い方から、TypeScriptの「高い表現力」の源となっているリテラル型・ユニオン型・keyof 型の扱い方まで幅広く取り上げます。また、わかりにくい機能や型安全を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえたうえで最善の扱い方を説明します。

章ごとに力試し問題を用意しており、理解の度合いを確認しながら学習を進められます。


(こんな方におすすめ)

・TypeScriptの初学者

・JavaScriptの知識はないが、TypeScriptを学び始めたい人


(目次)

第1章 イントロダクション

  1.1 TypeScriptとは

  1.2 TypeScriptとJavaScriptとの関係

  1.3 TypeScriptの開発環境

第2章 基本的な文法・基本的な型

  2.1 文と式

  2.2 変数の宣言と使用

  2.3 プリミティブ型

  2.4 演算子

  2.5 基本的な制御構文

  2.6 力試し

第3章 オブジェクトの基本とオブジェクトの型

  3.1 オブジェクトとは

  3.2 オブジェクトの型

  3.3 部分型関係

  3.4 型引数を持つ型

  3.5 配列

  3.6 分割代入

  3.7 その他の組み込みオブジェクト

  3.8 力試し

第4章 TypeScriptの関数

  4.1 関数の作り方

  4.2 関数の型

  4.3 関数型の部分型関係

  4.4 ジェネリクス

  4.5 変数スコープと関数

  4.6 力試し

第5章 TypeScriptのクラス

  5.1 クラスの宣言と使用

  5.2 クラスの型

  5.3 クラスの継承

  5.4 this

  5.5 例外処理

  5.6 力試し

第6章 高度な型

  6.1 ユニオン型とインターセクション型

  6.2 リテラル型

  6.3 型の絞り込み

  6.4 keyof型・lookup型

  6.5 asによる型アサーション

  6.6 any型とunknown型

  6.7 さらに高度な型

  6.8 力試し

第7章 TypeScriptのモジュールシステム

  7.1 import宣言とexport宣言

  7.2 Node.jsのモジュールシステム

  7.3 DefinitelyTypedと@types

  7.4 力試し

第8章 非同期処理

  8.1 非同期処理とは

  8.2 コールバックによる非同期処理の扱い

  8.3 Promiseを使う

  8.4 async/await構文

  8.5 力試し

第9章 TypeScriptのコンパイラオプション

  9.1 tsconfig.jsonによるコンパイラオプションの設定

  9.2 チェックの厳しさに関わるオプション
 
内容サンプル
 
ユーザーレビュー
 
   
人気 4位
本書の内容
ソフトウェア開発の名著、第2版登場!
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。  
内容サンプル
 
ユーザーレビュー
実例を元にリファクタリング方法を解説してくれるので、似たような実装してるところをどう直せばわかりやすくなるか理解しやすくて実践にも使えそうな内容盛り沢山でした。
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。
 
   
人気 5位
本書の内容

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

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

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

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

 
内容サンプル
 
ユーザーレビュー
 
   
人気 6位
本書の内容
コードを書き、読み、洗練する

本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。  
内容サンプル
 
ユーザーレビュー
 
   
人気 7位
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。
 
内容サンプル
 
ユーザーレビュー
 
   
人気 8位
本書の内容
C言語開発をモダンにしよう!

本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
ユーザーレビュー
 
   
人気 9位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 10位
本書の内容
オブジェクト指向ソフトウェア設計の際に繰り返し現れる重要な部品をデザインパターンとして記録し、カタログ化。改訂版ではこれにCD−ROMを添付、現場でブラウザを通して即利用できるパターンカタログデジタル版を収録。特別付録として、原書にはないJavaのサンプルコードを追加。
【技術書翻訳名著シリーズ】
ソフトウェア開発のバイブル群! 弊社がこれまでに刊行した翻訳技術書の中から、長年読者から支持され続けている名著を厳選したのが、本シリーズです。移り変わりの激しいコンピュータ業界で、普遍性を保ち続ける定番をお届けします。ソフトウェア開発の上流から下流まで、入門書からエキスパート向けまで、技術者に求められる選りすぐりの情報がここにあります。
 
内容サンプル
 
ユーザーレビュー
 
   
人気 11位
本書の内容
■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

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

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。  
内容サンプル
 
ユーザーレビュー
レガシーなIT企業であればささる内容が多いと思います。逆にモダンなIT企業であれば学ぶことはあまりないかなと。「設計は最後に行う」の部分はなるほどなと感じました。
現役のソフトウェアエンジニアには必須と言っても良い本だと思います。 何がレガシーコードで何がそうでないかしっかりと記載があるので、ぜひ一読ください
 
   
人気 12位
本書の内容
あの名著が蘇る!
プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(""Refactoring:Improving the Design of Existing Code"")が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行! 旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 13位
本書の内容
 
内容サンプル
 
ユーザーレビュー
「完璧なプログラムを目指して」というタイトルどおりの内容で、バグのないコードを目指す高い志のもとに書かれた本です。 もともと、プログラミングの書き方や命名規則はある程度自信はあったのですが、後輩のコードレビューをするときになぜこう書くのかなかなか説明できないことが多かったです。この本を読んでから、それを旨い理由をつけて説明できるようになりました。本のボリュームが半端ないので、飽き飽きする部分はあるのですが、プログラミング作法のなってない後輩をもったら買って損はないのではないでしょうか
既に知ってたことも体系的にまとめられているので、非常に良い本だと思います。ざっと斜め読みしてどこに何が書いてあるか把握しておき、必要な時にその都度活用するのが良いと思います。
 
   
人気 14位
本書の内容
(概要)
Lisp・関数型プログラミングのメリットとは何か――副作用のないプログラミングがまず挙げられます。これでバグが圧倒的に少なくなります。さらにはコードの再利用がしやすいこと,並列処理が得意であるということも。それだけではありません。動的な型付けも特徴ですし,ラムダ計算もクロージャも,さらにはオブジェクト指向までできます。数十年の時を越えて現代にも通用する普遍的なアイデアがLispにはあります。本書はさまざまなLispプログラム(ハノイの塔,エイトクイーン,オンライン書店など)を解説し,さらにリファクタリングまでいっきに学びます。本書で関数型プログラミングのエッセンスを得ることができます。


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

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

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

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

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

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

第6章 関数型プログラムの評価とリファクタリング  
内容サンプル
 
ユーザーレビュー
 
   
人気 15位
本書の内容
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 16位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 17位
本書の内容
本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。本書のテーマは多岐にわたります。クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。  
内容サンプル
 
ユーザーレビュー
 
   
人気 18位
本書の内容
開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

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

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。
 
内容サンプル
 
ユーザーレビュー
 
   
人気 19位
本書の内容
アジャイルなソフトウェア開発の実践において、プログラムの改善にリファクタリングは欠かせません。
同様に、プロジェクトを本当の意味で改善するためには、開発にかかわる人間の脳(ウェットウェア)をリファクタリングすることが重要だと思いませんか?
そこで、認知科学、神経科学、学習理論、行動理論などを駆使し、人間の脳がどのように機能するかを明らかにします。

本書で紹介するテクニックを実践すれば、読者の学習スキルおよび思考スキルは向上、日々の生産性を20%から30%改善できると著者は主張します。
名著『達人プログラマー』の著者、アンディ・ハントが語る「あなたの脳をリファクタリングする」方法です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 20位
本書の内容
※この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 継承の取り扱い
文献リスト 
訳者あとがき
索引  
内容サンプル
 
ユーザーレビュー
 
   
人気 21位
本書の内容
リファクタリング入門書の決定版!!
どうすれば、きれいで読みやすいコードになるのか?
『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説したリファクタリング入門書の決定版。
Javaによる実例満載。ファウラーの名著『リファクタリング』に登場する、すべてのリファクタリングのエッセンスを簡潔にまとめた
「リファクタリング一覧」(巻末付録)付き。


第0章 リファクタリングとは
第1章 シンボリック定数によるマジックナンバーの置き換え
第2章 制御フラグの削除
第3章 アサーションの導入
第4章 ヌルオブジェクトの導入
第5章 メソッドの抽出
第6章 クラスの抽出
第7章 クラスによるタイプコードの置き換え
第8章 サブクラスによるタイプコードの置き換え
第9章 State/Strategyによるタイプコードの置き換え
第10章 例外によるエラーコードの置き換え
第11章 Factory Methodによるコンストラクタの置き換え
第12章 観察されるデータの複製
第13章 委譲による継承の置き換え
第14章 委譲の隠蔽
第15章 継承の分割
 
内容サンプル
 
ユーザーレビュー
 
   
人気 22位
本書の内容
歴史を変えた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端末の場合)
 
内容サンプル
 
ユーザーレビュー
 
   
人気 23位
本書の内容
(概要)
C#のプログラムを作成するには,解こうとする問題の手順と利用するデータ構造を考え,それをC#のコードとして記述するスキルが必要になってきますが,そういったスキルは,現場で利用されているイディオムや定石といったパターンを学習することで得られます。「パターン」を自分の中に叩き込むことが上達の早道なのです。また,さらには,実際に自分でプログラムを書いてみることも必要。本書には章ごとに練習問題も用意されていますので,実地に自分で書くことにより,確固としたプログラミングの力を身につけてください。

(こんな方におすすめ)
・入門書をひととおり理解したレベルのプログラマー
・実践的な知識を学びたいプログラミング初心者

(目次)
Chapter 1 オブジェクト指向プログラミングの基礎

Chapter 2 C#でプログラムを書いてみよう

Chapter 3 ラムダ式とLINQの基礎

Chapter 4 基本イディオム

Chapter 5 文字列の操作

Chapter 6 配列とListの操作

Chapter 7 ディクショナリの操作

Chapter 8 日付,時刻の操作

Chapter 9 ファイルの操作

Chapter 10 正規表現を使った高度な文字列処理

Chapter 11 XMLファイルの操作

Chapter 12 シリアル化,逆シリアル化

Chapter 13 Entity Frameworkによるデータアクセス

Chapter 14 その他のプログラミングの定石

Chapter 15 LINQを使いこなす

Chapter 16 非同期/並列プログラミング

Chapter 17 実践オブジェクト指向プログラミング

Chapter 18 スタイル,ネーミング,コメント

Chapter 19 良いコードを書くための指針  
内容サンプル
 
ユーザーレビュー
 
   
人気 24位
本書の内容
あなたは、Javaや.netでレガシーコードを書いていませんか?

本書は、システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処方法について解説します。つまり、コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介しています。レガシーコードとは、メインフレームのアプリケーションのことではなく、変更することが困難なコードを指しています。著者は、本書で「私にとって、テストがないコードはレガシーコードだ」「テストコードがあれば振舞いを変えても、すばやく変更、確認することができる。もし、テストコードがなければ振舞いを変更しても、それが正しいのか、悪いのか判断できない」「ソースコードがきれいで、良い構造であれば十分か?そうではない。もし、テストコードなしで大幅な修正を加えるとしたら、信じられないほどのスキルと明確な理解が必要になる」と述べています。本書はJava、C、C++でサンプルを記述していますが、記載されているテクニックは言語依存するものではないため、他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。  
内容サンプル
 
ユーザーレビュー
レガシーコードで悩んでたので何かのヒントが得られるかと思って購入しました。 これから頑張って読みたいと思います
 
   
人気 25位
本書の内容
(概要)

読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。本書を読むと、良いコードを書くための習慣から、名前の付け方、コードの分割や集約を行う方法、抽象化の作法、計算量とアルゴリズム、ユニットテストやメタプログラミング、そして簡単なフレームワークの自作まで、プログラマーとして長く役立つ基本が身に付きます。

2011年に刊行し、大好評を博した初版を、10年ぶりに改訂しました。改訂版では、コード例をモダン化したほか、第7章「データ構造」を新たに書き下ろしました。10年ぶりの改訂であるにも関わらず、本書の根幹は驚くほど変わっていません。それはすなわち、基礎や基本といった本質的な知識は、陳腐化しないということです。


(こんな方におすすめ)

・良いコードを書きたいけれども、何から手を付けていいかわからない方

・良い仕事をしたい初級から中級のプログラマーの方

・読みやすく保守しやすいコードを書きたい方

・新人に良いコードとは何かを知ってほしい先輩・上司・達人プログラマーの方


(目次)

第1章 良いコードとは何か

  1.1 良いコードの定義と価値

  1.2 良いコードの定義

  1.3 良いコードの価値

  1.4 代表者の声

  1.5 まとめ

第2章 良いコードを書くための5つの習慣

  2.1 良いコードは1日にしてならず

  2.2 習慣その1 読む ── コードを読んで読んで、読みまくれ!

  2.3 習慣その2 書く ── とにかくコードを書こう

  2.4 習慣その3 道具を磨く ── 使う道具は常に磨いておこう

  2.5 習慣その4 知る ── 良い知識を得よう

  2.6 習慣その5 聞く ── アウトプットと人からのフィードバックでさらなる成長を

  2.7 まとめ

第3章 名前付け

  3.1 良いコードは良い名前から生まれる

  3.2 代表者の声

  3.3 良い名前の条件

  3.4 変数名

  3.5 メソッド名

  3.6 クラス名

  3.7 パッケージ/ネームスペース名

  3.8 プロジェクト名

  3.9 まとめ

第4章 スコープ

  4.1 スコープを意識していますか?

  4.2 スコープって何?

  4.3 スコープを小さくして覚えておくことを減らそう!

  4.4 代表者の声

  4.5 変数のスコープ

  4.6 メソッドのスコープ

  4.7 クラスのスコープ

  4.8 キャストを使用した可視性の制御

  4.9 より大きな粒度のスコープ

  4.10 まとめ

第5章 コードの分割

  5.1 適切な長さにコードを分割する

  5.2 なぜコードを分割するのか

  5.3 代表者の声

  5.4 2つの方向からの分割

  5.5 お題 クライアントにXMLを返すWeb APIの処理を分割する

  5.6 ステップ1 ベタなコードで書いてみる

  5.7 ステップ2 共通処理をメソッドに抽出して分割する

  5.8 ステップ3 処理単位で分割する

  5.9 ステップ4 状態を持つ処理をクラスに抽出して分割する

  5.10 まとめ

第6章 コードの集約

  6.1 コードの重複は悪

  6.2 代表者の声

  6.3 メソッドに抽出してまとめる

  6.4 継承でまとめる

  6.5 ユーティリティクラスにまとめる

  6.6 サービス層にまとめる

  6.7 オブジェクトにまとめる

  6.8 定数にまとめる

  6.9 列挙型(enum)にまとめる

  6.10 まとめ

第7章 データ構造

  7.1 データ構造で勝負が決まる

  7.2 代表者の声

  7.3 データ構造とは?

  7.4 データ構造の指針

  7.5 お題 美容室の予約画面のHTMLを出力する

  7.6 ステップ1 データベースのデータ構造をそのまま利用する

  7.7 ステップ2 処理に最適なデータ構造を把握する

  7.8 ステップ3 最適なデータ構造に変換して利用する

  7.9 まとめ

第8章 コードのパフォーマンス

  8.1 パフォーマンスを意識していますか?

  8.2 代表者の声

  8.3 パフォーマンスは計算量で決まる

  8.4 パフォーマンスチューニングの手順

  8.5 アルゴリズムの選択以外のパフォーマンスチューニング

  8.6 パフォーマンスチューニングの指針

  8.7 まとめ

第9章 ユニットテスト

  9.1 テストはお好きですか?

  9.2 ユニットテストって何?

  9.3 代表者の声

  9.4 ユニットテストの効能

  9.5 お題 Webアプリケーションのセキュリティテスト

  9.6 ステップ1 データベースにテストデータを登録する

  9.7 ステップ2 画面の実装

  9.8 ステップ3 画面のユニットテスト(正常系)

  9.9 ステップ4 画面のユニットテスト(異常系)

  9.10 ユニットテストの指針

  9.11 まとめ

第10章 抽象化

第11章 メタプログラミング

第12章 フレームワークを作ろう

付録A コードリーディングの方法

付録B 解説付き参考文献
 
内容サンプル
 
ユーザーレビュー
 
   
人気 26位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 27位
本書の内容
Rubyを使うエンジニア必読の書!
Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊!

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

※本書は、2010年・アスキー・メディアワークス刊『リファクタリング: Rubyエディション』を復刻するものです。  
内容サンプル
 
ユーザーレビュー
 
   
人気 28位
本書の内容
(概要)
業務で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 予期しづらいトラブルの受け皿を用意しておく  
内容サンプル
 
ユーザーレビュー
 
   
人気 29位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 30位
本書の内容
新品未使用品です。店頭陳列しておりましたので、表紙にスレ傷などございますが、商品には問題ございません。一部ヤケ、スレなどがある場合がございますので、完全に新品が良い方はご遠慮下さいませ。ご注文後、Amazon.co.jp 配送センターより迅速に発送されます  
内容サンプル
 
ユーザーレビュー
 
   
人気 31位
本書の内容
リファクタリングは、システムデザインの改善や保守性、拡張性、パフォーマンスの向上
など、開発での幅広い有効性が証明されてきました。本書は、データベースシステムのために設計された強力なリファクタリング・テクニックを紹介しています。テーブル構造やデータ、トリガーなどをほんの少し手直しするだけで、どんなデータベースデザインも強化でき、無駄な再作業や余分なコストを省くことができるようになります。また、一連の決まったプラクティスの概略が述べられており、データベースの設計・開発にたいして、アジャイルな手法をどう取り入れるべきかが明確に示されています。不可能だといわれていたデータベースのリファクタリング・テクニックを確立したのは、アジャイル手法の第一人者スコット・アンブラーと高名なコンサルタントピラモト・サダラージ。彼らのおかげで、エンタープライズアプリケーションアーキテクチャに携わる開発者やデータベースの専門家は、自信を持って、しかも安全にデータベース設計に変化を取り入れることができるようになるでしょう。  
内容サンプル
 
ユーザーレビュー
 
   
人気 32位
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。  
内容サンプル
 
ユーザーレビュー
 
   
人気 33位
本書の内容
「デザインパターン(パターン)」を目指して「リファクタリング」する手法を解説し、パターンとリファクタリングの両方が学べる実践的な教科書です。リファクタリングは、ソフトウエアの持つ機能はそのままに、構造を見直す作業であり、開発過程で複雑になっていくプログラムを改善し、バグを減らし、機能拡張にも有効です。そのリファクタリングの際、「パターン」を取り入れたり近づけたりするようにプログラムを改善していくのが、本書で紹介する「パターン指向リファクタリング」です。リファクタリングの道しるべとして「パターン」をとらえることで、リファクタリングの幅が広がる一方で、デザインパターンがどういったものかは理解しつつも、なかなか実際のソフトウエアの設計でうまく生かせない方には、パターンの有効な使い方が学べます。「まえがき」は、『リファクタリング』の著者マーチン・ファウラーと、『デザインパターン』の著者ラルフ・ジョンソンが執筆。本書『Refactoring to Patterns』は、米Software Development誌、2005年Jolt Productivity Awardを受賞。
 
内容サンプル
 
ユーザーレビュー
 
   
人気 34位
本書の内容
本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。


 
内容サンプル
 
ユーザーレビュー
 
   
人気 35位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 36位
本書の内容
「推薦の言葉」より 「これからDSL に興味を持つ方たちにとっては、大変読みやすく、 これからの10 年間を生き存える上で参考となる有用な一冊になるでしょう。」 角 征典 (「アジャイルレトロスペクティブズ」「メタプログラミングRuby」訳者) 「日本語版への序文」より 日本は私の住む場所から遠く離れており、多くの点で異なる国ですが、私は日本への訪問をいつも楽しんでいます。そのため、私の本が日本語に翻訳されるのをとても光栄に思っています。多くの場合、最初の翻訳書は日本語版です。最近のDSL への関心、特に内部DSL への関心の高まりは、Ruby コミュニティで顕著だったため、とりわけ本書の翻訳をうれしく思います。本書の翻訳に加え、日本の翻訳チームは私と編集エディターたちの目をすり抜けた多くの間違いを発見してくれました。悲しいことですが、書籍のバグはソフトウェアのバグと同様に、逃れられない事実です。そのため、書籍の間違いを見つけてくれる人々に感謝の念を抱かずにはいられません。編集と翻訳の両面で、日本の翻訳チームの努力に感謝を述べたいと思います。 また近い将来日本に戻り、日本のソフトウェアコミュニティとより多くの交流を持ちたいと願っています。 2010年10月に刊行後、プログラマやコンピュータ・サイエンスの専門家の間で事実上の最高傑作と高い評価を得ている「Domain Specific Languages」の邦訳版です。 ドメイン特化言語(DSL)とはある特定の種類の問題に特化したコンピュータ言語で、長い間プログラマの生産性を高めている技術ですが、昨今SEの間で急激に関心が高まっています。 本書はDSLについてきわめて網羅性の高い、実践的な解説書です。DSLの幅広い手法を紹介し、読者がDSLを使うべきかどうか、DSLのどの手法を使うべきかどうか読者が正しい情報に基づく適切な判断ができるように導きます。  
内容サンプル
 
ユーザーレビュー
 
   
人気 37位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 38位
本書の内容
「プレファクタリング」(Prefactoring)とは、pre(事前に)+refactoring(リファクタリング)という意味の新造語です。
リファクタリングとは、コーディング中にコードの動きを変えずにコードを改善する手法のこと。
そして、プレファクタリングは、コーディング前にリファクタリングを行うことで、リファクタリングの効率をさらに上げようというもので、著者のKen Pughが提唱している新しい開発手法です。
これにより、開発作業の迅速化、効率化が図れると期待されています。
本書は開発者自身によるプレファクタリングについての初の解説書です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 39位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 40位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 41位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   

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

本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
こちらの書籍は 2022/05/31 紙版の3刷に対応するため更新をおこないました。
(概要)

TypeScriptは、JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では、根幹となるJavaScriptの仕様・機能とともに、TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。

静的型付き言語は世にいくつもありますが、TypeScriptの型システムは他に類を見ない高い表現力を持っています。本書の読者が、型の有効性を理解しTypeScriptらしいコードを書けるようになるために、本書では、プログラムの安全性を高める基本的な型の扱い方から、TypeScriptの「高い表現力」の源となっているリテラル型・ユニオン型・keyof 型の扱い方まで幅広く取り上げます。また、わかりにくい機能や型安全を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえたうえで最善の扱い方を説明します。

章ごとに力試し問題を用意しており、理解の度合いを確認しながら学習を進められます。


(こんな方におすすめ)

・TypeScriptの初学者

・JavaScriptの知識はないが、TypeScriptを学び始めたい人


(目次)

第1章 イントロダクション

  1.1 TypeScriptとは

  1.2 TypeScriptとJavaScriptとの関係

  1.3 TypeScriptの開発環境

第2章 基本的な文法・基本的な型

  2.1 文と式

  2.2 変数の宣言と使用

  2.3 プリミティブ型

  2.4 演算子

  2.5 基本的な制御構文

  2.6 力試し

第3章 オブジェクトの基本とオブジェクトの型

  3.1 オブジェクトとは

  3.2 オブジェクトの型

  3.3 部分型関係

  3.4 型引数を持つ型

  3.5 配列

  3.6 分割代入

  3.7 その他の組み込みオブジェクト

  3.8 力試し

第4章 TypeScriptの関数

  4.1 関数の作り方

  4.2 関数の型

  4.3 関数型の部分型関係

  4.4 ジェネリクス

  4.5 変数スコープと関数

  4.6 力試し

第5章 TypeScriptのクラス

  5.1 クラスの宣言と使用

  5.2 クラスの型

  5.3 クラスの継承

  5.4 this

  5.5 例外処理

  5.6 力試し

第6章 高度な型

  6.1 ユニオン型とインターセクション型

  6.2 リテラル型

  6.3 型の絞り込み

  6.4 keyof型・lookup型

  6.5 asによる型アサーション

  6.6 any型とunknown型

  6.7 さらに高度な型

  6.8 力試し

第7章 TypeScriptのモジュールシステム

  7.1 import宣言とexport宣言

  7.2 Node.jsのモジュールシステム

  7.3 DefinitelyTypedと@types

  7.4 力試し

第8章 非同期処理

  8.1 非同期処理とは

  8.2 コールバックによる非同期処理の扱い

  8.3 Promiseを使う

  8.4 async/await構文

  8.5 力試し

第9章 TypeScriptのコンパイラオプション

  9.1 tsconfig.jsonによるコンパイラオプションの設定

  9.2 チェックの厳しさに関わるオプション
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
(概要)

読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。本書を読むと、良いコードを書くための習慣から、名前の付け方、コードの分割や集約を行う方法、抽象化の作法、計算量とアルゴリズム、ユニットテストやメタプログラミング、そして簡単なフレームワークの自作まで、プログラマーとして長く役立つ基本が身に付きます。

2011年に刊行し、大好評を博した初版を、10年ぶりに改訂しました。改訂版では、コード例をモダン化したほか、第7章「データ構造」を新たに書き下ろしました。10年ぶりの改訂であるにも関わらず、本書の根幹は驚くほど変わっていません。それはすなわち、基礎や基本といった本質的な知識は、陳腐化しないということです。


(こんな方におすすめ)

・良いコードを書きたいけれども、何から手を付けていいかわからない方

・良い仕事をしたい初級から中級のプログラマーの方

・読みやすく保守しやすいコードを書きたい方

・新人に良いコードとは何かを知ってほしい先輩・上司・達人プログラマーの方


(目次)

第1章 良いコードとは何か

  1.1 良いコードの定義と価値

  1.2 良いコードの定義

  1.3 良いコードの価値

  1.4 代表者の声

  1.5 まとめ

第2章 良いコードを書くための5つの習慣

  2.1 良いコードは1日にしてならず

  2.2 習慣その1 読む ── コードを読んで読んで、読みまくれ!

  2.3 習慣その2 書く ── とにかくコードを書こう

  2.4 習慣その3 道具を磨く ── 使う道具は常に磨いておこう

  2.5 習慣その4 知る ── 良い知識を得よう

  2.6 習慣その5 聞く ── アウトプットと人からのフィードバックでさらなる成長を

  2.7 まとめ

第3章 名前付け

  3.1 良いコードは良い名前から生まれる

  3.2 代表者の声

  3.3 良い名前の条件

  3.4 変数名

  3.5 メソッド名

  3.6 クラス名

  3.7 パッケージ/ネームスペース名

  3.8 プロジェクト名

  3.9 まとめ

第4章 スコープ

  4.1 スコープを意識していますか?

  4.2 スコープって何?

  4.3 スコープを小さくして覚えておくことを減らそう!

  4.4 代表者の声

  4.5 変数のスコープ

  4.6 メソッドのスコープ

  4.7 クラスのスコープ

  4.8 キャストを使用した可視性の制御

  4.9 より大きな粒度のスコープ

  4.10 まとめ

第5章 コードの分割

  5.1 適切な長さにコードを分割する

  5.2 なぜコードを分割するのか

  5.3 代表者の声

  5.4 2つの方向からの分割

  5.5 お題 クライアントにXMLを返すWeb APIの処理を分割する

  5.6 ステップ1 ベタなコードで書いてみる

  5.7 ステップ2 共通処理をメソッドに抽出して分割する

  5.8 ステップ3 処理単位で分割する

  5.9 ステップ4 状態を持つ処理をクラスに抽出して分割する

  5.10 まとめ

第6章 コードの集約

  6.1 コードの重複は悪

  6.2 代表者の声

  6.3 メソッドに抽出してまとめる

  6.4 継承でまとめる

  6.5 ユーティリティクラスにまとめる

  6.6 サービス層にまとめる

  6.7 オブジェクトにまとめる

  6.8 定数にまとめる

  6.9 列挙型(enum)にまとめる

  6.10 まとめ

第7章 データ構造

  7.1 データ構造で勝負が決まる

  7.2 代表者の声

  7.3 データ構造とは?

  7.4 データ構造の指針

  7.5 お題 美容室の予約画面のHTMLを出力する

  7.6 ステップ1 データベースのデータ構造をそのまま利用する

  7.7 ステップ2 処理に最適なデータ構造を把握する

  7.8 ステップ3 最適なデータ構造に変換して利用する

  7.9 まとめ

第8章 コードのパフォーマンス

  8.1 パフォーマンスを意識していますか?

  8.2 代表者の声

  8.3 パフォーマンスは計算量で決まる

  8.4 パフォーマンスチューニングの手順

  8.5 アルゴリズムの選択以外のパフォーマンスチューニング

  8.6 パフォーマンスチューニングの指針

  8.7 まとめ

第9章 ユニットテスト

  9.1 テストはお好きですか?

  9.2 ユニットテストって何?

  9.3 代表者の声

  9.4 ユニットテストの効能

  9.5 お題 Webアプリケーションのセキュリティテスト

  9.6 ステップ1 データベースにテストデータを登録する

  9.7 ステップ2 画面の実装

  9.8 ステップ3 画面のユニットテスト(正常系)

  9.9 ステップ4 画面のユニットテスト(異常系)

  9.10 ユニットテストの指針

  9.11 まとめ

第10章 抽象化

第11章 メタプログラミング

第12章 フレームワークを作ろう

付録A コードリーディングの方法

付録B 解説付き参考文献
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。本書のテーマは多岐にわたります。クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
Rubyを使うエンジニア必読の書!
Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊!

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

※本書は、2010年・アスキー・メディアワークス刊『リファクタリング: Rubyエディション』を復刻するものです。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
※この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 継承の取り扱い
文献リスト 
訳者あとがき
索引  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
ソフトウェア開発の名著、第2版登場!
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。  
内容サンプル
 
ユーザーレビュー
実例を元にリファクタリング方法を解説してくれるので、似たような実装してるところをどう直せばわかりやすくなるか理解しやすくて実践にも使えそうな内容盛り沢山でした。
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。
 
   
本書の内容
(概要)
業務で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 予期しづらいトラブルの受け皿を用意しておく  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

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

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。  
内容サンプル
 
ユーザーレビュー
レガシーなIT企業であればささる内容が多いと思います。逆にモダンなIT企業であれば学ぶことはあまりないかなと。「設計は最後に行う」の部分はなるほどなと感じました。
現役のソフトウェアエンジニアには必須と言っても良い本だと思います。 何がレガシーコードで何がそうでないかしっかりと記載があるので、ぜひ一読ください
 
   
本書の内容
C言語開発をモダンにしよう!

本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの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 組織設計とアーキテクチャ
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
コードを書き、読み、洗練する

本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
(概要)
C#のプログラムを作成するには,解こうとする問題の手順と利用するデータ構造を考え,それをC#のコードとして記述するスキルが必要になってきますが,そういったスキルは,現場で利用されているイディオムや定石といったパターンを学習することで得られます。「パターン」を自分の中に叩き込むことが上達の早道なのです。また,さらには,実際に自分でプログラムを書いてみることも必要。本書には章ごとに練習問題も用意されていますので,実地に自分で書くことにより,確固としたプログラミングの力を身につけてください。

(こんな方におすすめ)
・入門書をひととおり理解したレベルのプログラマー
・実践的な知識を学びたいプログラミング初心者

(目次)
Chapter 1 オブジェクト指向プログラミングの基礎

Chapter 2 C#でプログラムを書いてみよう

Chapter 3 ラムダ式とLINQの基礎

Chapter 4 基本イディオム

Chapter 5 文字列の操作

Chapter 6 配列とListの操作

Chapter 7 ディクショナリの操作

Chapter 8 日付,時刻の操作

Chapter 9 ファイルの操作

Chapter 10 正規表現を使った高度な文字列処理

Chapter 11 XMLファイルの操作

Chapter 12 シリアル化,逆シリアル化

Chapter 13 Entity Frameworkによるデータアクセス

Chapter 14 その他のプログラミングの定石

Chapter 15 LINQを使いこなす

Chapter 16 非同期/並列プログラミング

Chapter 17 実践オブジェクト指向プログラミング

Chapter 18 スタイル,ネーミング,コメント

Chapter 19 良いコードを書くための指針  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
(概要)
Lisp・関数型プログラミングのメリットとは何か――副作用のないプログラミングがまず挙げられます。これでバグが圧倒的に少なくなります。さらにはコードの再利用がしやすいこと,並列処理が得意であるということも。それだけではありません。動的な型付けも特徴ですし,ラムダ計算もクロージャも,さらにはオブジェクト指向までできます。数十年の時を越えて現代にも通用する普遍的なアイデアがLispにはあります。本書はさまざまなLispプログラム(ハノイの塔,エイトクイーン,オンライン書店など)を解説し,さらにリファクタリングまでいっきに学びます。本書で関数型プログラミングのエッセンスを得ることができます。


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

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

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

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

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

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

第6章 関数型プログラムの評価とリファクタリング  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

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

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


 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容

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

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

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

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

 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
あの名著が蘇る!
プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(""Refactoring:Improving the Design of Existing Code"")が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行! 旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
歴史を変えた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端末の場合)
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、
自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。

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

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。  
内容サンプル
 
ユーザーレビュー
仕事、趣味問わずプログラミングをする方におすすめです!内容は言語ではなく誰が見ても理解できるコードを書くには?をテーマに書いてます。勉強になりました!
コーディング界隈でよく名前の挙がる名著ですが、非常に読みやすく、短期間で読了できました。 初学者からベテランまで活用できる内容となっております。
わかりやすいイラストと例え、そしてカジュアルな語り口でともすれば難解になりがちなプログラミングの概念を学ぶことができました。
 
   
本書の内容
「推薦の言葉」より 「これからDSL に興味を持つ方たちにとっては、大変読みやすく、 これからの10 年間を生き存える上で参考となる有用な一冊になるでしょう。」 角 征典 (「アジャイルレトロスペクティブズ」「メタプログラミングRuby」訳者) 「日本語版への序文」より 日本は私の住む場所から遠く離れており、多くの点で異なる国ですが、私は日本への訪問をいつも楽しんでいます。そのため、私の本が日本語に翻訳されるのをとても光栄に思っています。多くの場合、最初の翻訳書は日本語版です。最近のDSL への関心、特に内部DSL への関心の高まりは、Ruby コミュニティで顕著だったため、とりわけ本書の翻訳をうれしく思います。本書の翻訳に加え、日本の翻訳チームは私と編集エディターたちの目をすり抜けた多くの間違いを発見してくれました。悲しいことですが、書籍のバグはソフトウェアのバグと同様に、逃れられない事実です。そのため、書籍の間違いを見つけてくれる人々に感謝の念を抱かずにはいられません。編集と翻訳の両面で、日本の翻訳チームの努力に感謝を述べたいと思います。 また近い将来日本に戻り、日本のソフトウェアコミュニティとより多くの交流を持ちたいと願っています。 2010年10月に刊行後、プログラマやコンピュータ・サイエンスの専門家の間で事実上の最高傑作と高い評価を得ている「Domain Specific Languages」の邦訳版です。 ドメイン特化言語(DSL)とはある特定の種類の問題に特化したコンピュータ言語で、長い間プログラマの生産性を高めている技術ですが、昨今SEの間で急激に関心が高まっています。 本書はDSLについてきわめて網羅性の高い、実践的な解説書です。DSLの幅広い手法を紹介し、読者がDSLを使うべきかどうか、DSLのどの手法を使うべきかどうか読者が正しい情報に基づく適切な判断ができるように導きます。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
あなたは、Javaや.netでレガシーコードを書いていませんか?

本書は、システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処方法について解説します。つまり、コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介しています。レガシーコードとは、メインフレームのアプリケーションのことではなく、変更することが困難なコードを指しています。著者は、本書で「私にとって、テストがないコードはレガシーコードだ」「テストコードがあれば振舞いを変えても、すばやく変更、確認することができる。もし、テストコードがなければ振舞いを変更しても、それが正しいのか、悪いのか判断できない」「ソースコードがきれいで、良い構造であれば十分か?そうではない。もし、テストコードなしで大幅な修正を加えるとしたら、信じられないほどのスキルと明確な理解が必要になる」と述べています。本書はJava、C、C++でサンプルを記述していますが、記載されているテクニックは言語依存するものではないため、他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。  
内容サンプル
 
ユーザーレビュー
レガシーコードで悩んでたので何かのヒントが得られるかと思って購入しました。 これから頑張って読みたいと思います
 
   
本書の内容
アジャイルなソフトウェア開発の実践において、プログラムの改善にリファクタリングは欠かせません。
同様に、プロジェクトを本当の意味で改善するためには、開発にかかわる人間の脳(ウェットウェア)をリファクタリングすることが重要だと思いませんか?
そこで、認知科学、神経科学、学習理論、行動理論などを駆使し、人間の脳がどのように機能するかを明らかにします。

本書で紹介するテクニックを実践すれば、読者の学習スキルおよび思考スキルは向上、日々の生産性を20%から30%改善できると著者は主張します。
名著『達人プログラマー』の著者、アンディ・ハントが語る「あなたの脳をリファクタリングする」方法です。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
リファクタリングは、システムデザインの改善や保守性、拡張性、パフォーマンスの向上
など、開発での幅広い有効性が証明されてきました。本書は、データベースシステムのために設計された強力なリファクタリング・テクニックを紹介しています。テーブル構造やデータ、トリガーなどをほんの少し手直しするだけで、どんなデータベースデザインも強化でき、無駄な再作業や余分なコストを省くことができるようになります。また、一連の決まったプラクティスの概略が述べられており、データベースの設計・開発にたいして、アジャイルな手法をどう取り入れるべきかが明確に示されています。不可能だといわれていたデータベースのリファクタリング・テクニックを確立したのは、アジャイル手法の第一人者スコット・アンブラーと高名なコンサルタントピラモト・サダラージ。彼らのおかげで、エンタープライズアプリケーションアーキテクチャに携わる開発者やデータベースの専門家は、自信を持って、しかも安全にデータベース設計に変化を取り入れることができるようになるでしょう。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
リファクタリング入門書の決定版!!
どうすれば、きれいで読みやすいコードになるのか?
『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説したリファクタリング入門書の決定版。
Javaによる実例満載。ファウラーの名著『リファクタリング』に登場する、すべてのリファクタリングのエッセンスを簡潔にまとめた
「リファクタリング一覧」(巻末付録)付き。


第0章 リファクタリングとは
第1章 シンボリック定数によるマジックナンバーの置き換え
第2章 制御フラグの削除
第3章 アサーションの導入
第4章 ヌルオブジェクトの導入
第5章 メソッドの抽出
第6章 クラスの抽出
第7章 クラスによるタイプコードの置き換え
第8章 サブクラスによるタイプコードの置き換え
第9章 State/Strategyによるタイプコードの置き換え
第10章 例外によるエラーコードの置き換え
第11章 Factory Methodによるコンストラクタの置き換え
第12章 観察されるデータの複製
第13章 委譲による継承の置き換え
第14章 委譲の隠蔽
第15章 継承の分割
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
「プレファクタリング」(Prefactoring)とは、pre(事前に)+refactoring(リファクタリング)という意味の新造語です。
リファクタリングとは、コーディング中にコードの動きを変えずにコードを改善する手法のこと。
そして、プレファクタリングは、コーディング前にリファクタリングを行うことで、リファクタリングの効率をさらに上げようというもので、著者のKen Pughが提唱している新しい開発手法です。
これにより、開発作業の迅速化、効率化が図れると期待されています。
本書は開発者自身によるプレファクタリングについての初の解説書です。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
「デザインパターン(パターン)」を目指して「リファクタリング」する手法を解説し、パターンとリファクタリングの両方が学べる実践的な教科書です。リファクタリングは、ソフトウエアの持つ機能はそのままに、構造を見直す作業であり、開発過程で複雑になっていくプログラムを改善し、バグを減らし、機能拡張にも有効です。そのリファクタリングの際、「パターン」を取り入れたり近づけたりするようにプログラムを改善していくのが、本書で紹介する「パターン指向リファクタリング」です。リファクタリングの道しるべとして「パターン」をとらえることで、リファクタリングの幅が広がる一方で、デザインパターンがどういったものかは理解しつつも、なかなか実際のソフトウエアの設計でうまく生かせない方には、パターンの有効な使い方が学べます。「まえがき」は、『リファクタリング』の著者マーチン・ファウラーと、『デザインパターン』の著者ラルフ・ジョンソンが執筆。本書『Refactoring to Patterns』は、米Software Development誌、2005年Jolt Productivity Awardを受賞。
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
「完璧なプログラムを目指して」というタイトルどおりの内容で、バグのないコードを目指す高い志のもとに書かれた本です。 もともと、プログラミングの書き方や命名規則はある程度自信はあったのですが、後輩のコードレビューをするときになぜこう書くのかなかなか説明できないことが多かったです。この本を読んでから、それを旨い理由をつけて説明できるようになりました。本のボリュームが半端ないので、飽き飽きする部分はあるのですが、プログラミング作法のなってない後輩をもったら買って損はないのではないでしょうか
既に知ってたことも体系的にまとめられているので、非常に良い本だと思います。ざっと斜め読みしてどこに何が書いてあるか把握しておき、必要な時にその都度活用するのが良いと思います。
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
新品未使用品です。店頭陳列しておりましたので、表紙にスレ傷などございますが、商品には問題ございません。一部ヤケ、スレなどがある場合がございますので、完全に新品が良い方はご遠慮下さいませ。ご注文後、Amazon.co.jp 配送センターより迅速に発送されます  
内容サンプル
 
ユーザーレビュー
 
   
本書の内容
オブジェクト指向ソフトウェア設計の際に繰り返し現れる重要な部品をデザインパターンとして記録し、カタログ化。改訂版ではこれにCD−ROMを添付、現場でブラウザを通して即利用できるパターンカタログデジタル版を収録。特別付録として、原書にはないJavaのサンプルコードを追加。
【技術書翻訳名著シリーズ】
ソフトウェア開発のバイブル群! 弊社がこれまでに刊行した翻訳技術書の中から、長年読者から支持され続けている名著を厳選したのが、本シリーズです。移り変わりの激しいコンピュータ業界で、普遍性を保ち続ける定番をお届けします。ソフトウェア開発の上流から下流まで、入門書からエキスパート向けまで、技術者に求められる選りすぐりの情報がここにあります。
 
内容サンプル
 
ユーザーレビュー
 
   

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

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

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

【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。
 
内容サンプル
 
ユーザーレビュー
 
   
人気 2位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 3位
本書の内容
ソフトウェア開発の名著、第2版登場!
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。  
内容サンプル
 
ユーザーレビュー
実例を元にリファクタリング方法を解説してくれるので、似たような実装してるところをどう直せばわかりやすくなるか理解しやすくて実践にも使えそうな内容盛り沢山でした。
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。
 
   
人気 4位
本書の内容
コードを書き、読み、洗練する

本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。  
内容サンプル
 
ユーザーレビュー
 
   
人気 5位
本書の内容
※この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 継承の取り扱い
文献リスト 
訳者あとがき
索引  
内容サンプル
 
ユーザーレビュー
 
   
人気 6位
本書の内容
「美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、
自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。

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

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。  
内容サンプル
 
ユーザーレビュー
仕事、趣味問わずプログラミングをする方におすすめです!内容は言語ではなく誰が見ても理解できるコードを書くには?をテーマに書いてます。勉強になりました!
コーディング界隈でよく名前の挙がる名著ですが、非常に読みやすく、短期間で読了できました。 初学者からベテランまで活用できる内容となっております。
わかりやすいイラストと例え、そしてカジュアルな語り口でともすれば難解になりがちなプログラミングの概念を学ぶことができました。
 
   
人気 7位
本書の内容
あなたは、Javaや.netでレガシーコードを書いていませんか?

本書は、システム保守の現場でありがちな、構造が複雑で理解できないようなコードに対する分析手法・対処方法について解説します。つまり、コードを理解し、テストできるようにし、リファクタリングを可能にし、機能を追加できるテクニックを紹介しています。レガシーコードとは、メインフレームのアプリケーションのことではなく、変更することが困難なコードを指しています。著者は、本書で「私にとって、テストがないコードはレガシーコードだ」「テストコードがあれば振舞いを変えても、すばやく変更、確認することができる。もし、テストコードがなければ振舞いを変更しても、それが正しいのか、悪いのか判断できない」「ソースコードがきれいで、良い構造であれば十分か?そうではない。もし、テストコードなしで大幅な修正を加えるとしたら、信じられないほどのスキルと明確な理解が必要になる」と述べています。本書はJava、C、C++でサンプルを記述していますが、記載されているテクニックは言語依存するものではないため、他の言語(Delphi、Visual Basic、COBOL、FORTRAN)でも使えます。  
内容サンプル
 
ユーザーレビュー
レガシーコードで悩んでたので何かのヒントが得られるかと思って購入しました。 これから頑張って読みたいと思います
 
   
人気 8位
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。
 
内容サンプル
 
ユーザーレビュー
 
   
人気 9位
本書の内容
本書は、オブジェクト指向パラダイムを有効にするためのデザイ
ンパターンの中から、重要度の高いものを厳選し、解説しています。その際、要
求における流動的要素や、要求の変化という観点から、さまざまな事例につい
て丁寧な考察を行うことによって、デザインパターンそのものを導き出すという
ユニークなアプローチを採っています。
オブジェクト指向パラダイムのメリットを120% 引き出したいと考えている方
に、まず本書をお薦めすることができます。デザインパターンを考察することで
こそ、「オブジェクト指向の本当の姿」=「オブジェクト指向のこころ」
が理解できるようになるわけです。また、デザインパターンを勉強したことがな
い方、勉強はしたが日々の仕事に活用できないと悩んでおられる方にもお薦めで
す。本書で解説されている観点に立つことで、「時間軸を見渡した設計」とも言
える考え方を身につけることができ、設計・開発するシステムはひと味もふた
味も違ったものとなることでしょう。  
内容サンプル
 
ユーザーレビュー
 
   
人気 10位
本書の内容
本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。本書のテーマは多岐にわたります。クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。  
内容サンプル
 
ユーザーレビュー
 
   
人気 11位
本書の内容
こちらの書籍は 2022/05/31 紙版の3刷に対応するため更新をおこないました。
(概要)

TypeScriptは、JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では、根幹となるJavaScriptの仕様・機能とともに、TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。

静的型付き言語は世にいくつもありますが、TypeScriptの型システムは他に類を見ない高い表現力を持っています。本書の読者が、型の有効性を理解しTypeScriptらしいコードを書けるようになるために、本書では、プログラムの安全性を高める基本的な型の扱い方から、TypeScriptの「高い表現力」の源となっているリテラル型・ユニオン型・keyof 型の扱い方まで幅広く取り上げます。また、わかりにくい機能や型安全を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえたうえで最善の扱い方を説明します。

章ごとに力試し問題を用意しており、理解の度合いを確認しながら学習を進められます。


(こんな方におすすめ)

・TypeScriptの初学者

・JavaScriptの知識はないが、TypeScriptを学び始めたい人


(目次)

第1章 イントロダクション

  1.1 TypeScriptとは

  1.2 TypeScriptとJavaScriptとの関係

  1.3 TypeScriptの開発環境

第2章 基本的な文法・基本的な型

  2.1 文と式

  2.2 変数の宣言と使用

  2.3 プリミティブ型

  2.4 演算子

  2.5 基本的な制御構文

  2.6 力試し

第3章 オブジェクトの基本とオブジェクトの型

  3.1 オブジェクトとは

  3.2 オブジェクトの型

  3.3 部分型関係

  3.4 型引数を持つ型

  3.5 配列

  3.6 分割代入

  3.7 その他の組み込みオブジェクト

  3.8 力試し

第4章 TypeScriptの関数

  4.1 関数の作り方

  4.2 関数の型

  4.3 関数型の部分型関係

  4.4 ジェネリクス

  4.5 変数スコープと関数

  4.6 力試し

第5章 TypeScriptのクラス

  5.1 クラスの宣言と使用

  5.2 クラスの型

  5.3 クラスの継承

  5.4 this

  5.5 例外処理

  5.6 力試し

第6章 高度な型

  6.1 ユニオン型とインターセクション型

  6.2 リテラル型

  6.3 型の絞り込み

  6.4 keyof型・lookup型

  6.5 asによる型アサーション

  6.6 any型とunknown型

  6.7 さらに高度な型

  6.8 力試し

第7章 TypeScriptのモジュールシステム

  7.1 import宣言とexport宣言

  7.2 Node.jsのモジュールシステム

  7.3 DefinitelyTypedと@types

  7.4 力試し

第8章 非同期処理

  8.1 非同期処理とは

  8.2 コールバックによる非同期処理の扱い

  8.3 Promiseを使う

  8.4 async/await構文

  8.5 力試し

第9章 TypeScriptのコンパイラオプション

  9.1 tsconfig.jsonによるコンパイラオプションの設定

  9.2 チェックの厳しさに関わるオプション
 
内容サンプル
 
ユーザーレビュー
 
   
人気 12位
本書の内容
歴史を変えた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端末の場合)
 
内容サンプル
 
ユーザーレビュー
 
   
人気 13位
本書の内容
 
内容サンプル
 
ユーザーレビュー
「完璧なプログラムを目指して」というタイトルどおりの内容で、バグのないコードを目指す高い志のもとに書かれた本です。 もともと、プログラミングの書き方や命名規則はある程度自信はあったのですが、後輩のコードレビューをするときになぜこう書くのかなかなか説明できないことが多かったです。この本を読んでから、それを旨い理由をつけて説明できるようになりました。本のボリュームが半端ないので、飽き飽きする部分はあるのですが、プログラミング作法のなってない後輩をもったら買って損はないのではないでしょうか
既に知ってたことも体系的にまとめられているので、非常に良い本だと思います。ざっと斜め読みしてどこに何が書いてあるか把握しておき、必要な時にその都度活用するのが良いと思います。
 
   
人気 14位
本書の内容
リファクタリング入門書の決定版!!
どうすれば、きれいで読みやすいコードになるのか?
『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説したリファクタリング入門書の決定版。
Javaによる実例満載。ファウラーの名著『リファクタリング』に登場する、すべてのリファクタリングのエッセンスを簡潔にまとめた
「リファクタリング一覧」(巻末付録)付き。


第0章 リファクタリングとは
第1章 シンボリック定数によるマジックナンバーの置き換え
第2章 制御フラグの削除
第3章 アサーションの導入
第4章 ヌルオブジェクトの導入
第5章 メソッドの抽出
第6章 クラスの抽出
第7章 クラスによるタイプコードの置き換え
第8章 サブクラスによるタイプコードの置き換え
第9章 State/Strategyによるタイプコードの置き換え
第10章 例外によるエラーコードの置き換え
第11章 Factory Methodによるコンストラクタの置き換え
第12章 観察されるデータの複製
第13章 委譲による継承の置き換え
第14章 委譲の隠蔽
第15章 継承の分割
 
内容サンプル
 
ユーザーレビュー
 
   
人気 15位
本書の内容
あの名著が蘇る!
プログラムに潜む扱いにくい部分を見つけ出し、その動作を変えずに内部の構造を改善していくためのテクニックを整理したマーティン・ファウラー氏によるソフトウェア開発の名著『リファクタリング プログラミングの体質改善テクニック』(""Refactoring:Improving the Design of Existing Code"")が、オリジナルの訳者による丁寧な見直しと現代的なJava開発環境による「再リファクタリング」を施した書き下ろし付録を収録して再発行! 旧版の価値を知るベテランはもちろん、これからソフトウェア開発に携わる新人にも必読の一冊です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 16位
本書の内容
(概要)
C#のプログラムを作成するには,解こうとする問題の手順と利用するデータ構造を考え,それをC#のコードとして記述するスキルが必要になってきますが,そういったスキルは,現場で利用されているイディオムや定石といったパターンを学習することで得られます。「パターン」を自分の中に叩き込むことが上達の早道なのです。また,さらには,実際に自分でプログラムを書いてみることも必要。本書には章ごとに練習問題も用意されていますので,実地に自分で書くことにより,確固としたプログラミングの力を身につけてください。

(こんな方におすすめ)
・入門書をひととおり理解したレベルのプログラマー
・実践的な知識を学びたいプログラミング初心者

(目次)
Chapter 1 オブジェクト指向プログラミングの基礎

Chapter 2 C#でプログラムを書いてみよう

Chapter 3 ラムダ式とLINQの基礎

Chapter 4 基本イディオム

Chapter 5 文字列の操作

Chapter 6 配列とListの操作

Chapter 7 ディクショナリの操作

Chapter 8 日付,時刻の操作

Chapter 9 ファイルの操作

Chapter 10 正規表現を使った高度な文字列処理

Chapter 11 XMLファイルの操作

Chapter 12 シリアル化,逆シリアル化

Chapter 13 Entity Frameworkによるデータアクセス

Chapter 14 その他のプログラミングの定石

Chapter 15 LINQを使いこなす

Chapter 16 非同期/並列プログラミング

Chapter 17 実践オブジェクト指向プログラミング

Chapter 18 スタイル,ネーミング,コメント

Chapter 19 良いコードを書くための指針  
内容サンプル
 
ユーザーレビュー
 
   
人気 17位
本書の内容
■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

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

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。  
内容サンプル
 
ユーザーレビュー
レガシーなIT企業であればささる内容が多いと思います。逆にモダンなIT企業であれば学ぶことはあまりないかなと。「設計は最後に行う」の部分はなるほどなと感じました。
現役のソフトウェアエンジニアには必須と言っても良い本だと思います。 何がレガシーコードで何がそうでないかしっかりと記載があるので、ぜひ一読ください
 
   
人気 18位
本書の内容
(概要)

読みやすく保守しやすい「良いコード」の書き方を解説した入門書です。本書を読むと、良いコードを書くための習慣から、名前の付け方、コードの分割や集約を行う方法、抽象化の作法、計算量とアルゴリズム、ユニットテストやメタプログラミング、そして簡単なフレームワークの自作まで、プログラマーとして長く役立つ基本が身に付きます。

2011年に刊行し、大好評を博した初版を、10年ぶりに改訂しました。改訂版では、コード例をモダン化したほか、第7章「データ構造」を新たに書き下ろしました。10年ぶりの改訂であるにも関わらず、本書の根幹は驚くほど変わっていません。それはすなわち、基礎や基本といった本質的な知識は、陳腐化しないということです。


(こんな方におすすめ)

・良いコードを書きたいけれども、何から手を付けていいかわからない方

・良い仕事をしたい初級から中級のプログラマーの方

・読みやすく保守しやすいコードを書きたい方

・新人に良いコードとは何かを知ってほしい先輩・上司・達人プログラマーの方


(目次)

第1章 良いコードとは何か

  1.1 良いコードの定義と価値

  1.2 良いコードの定義

  1.3 良いコードの価値

  1.4 代表者の声

  1.5 まとめ

第2章 良いコードを書くための5つの習慣

  2.1 良いコードは1日にしてならず

  2.2 習慣その1 読む ── コードを読んで読んで、読みまくれ!

  2.3 習慣その2 書く ── とにかくコードを書こう

  2.4 習慣その3 道具を磨く ── 使う道具は常に磨いておこう

  2.5 習慣その4 知る ── 良い知識を得よう

  2.6 習慣その5 聞く ── アウトプットと人からのフィードバックでさらなる成長を

  2.7 まとめ

第3章 名前付け

  3.1 良いコードは良い名前から生まれる

  3.2 代表者の声

  3.3 良い名前の条件

  3.4 変数名

  3.5 メソッド名

  3.6 クラス名

  3.7 パッケージ/ネームスペース名

  3.8 プロジェクト名

  3.9 まとめ

第4章 スコープ

  4.1 スコープを意識していますか?

  4.2 スコープって何?

  4.3 スコープを小さくして覚えておくことを減らそう!

  4.4 代表者の声

  4.5 変数のスコープ

  4.6 メソッドのスコープ

  4.7 クラスのスコープ

  4.8 キャストを使用した可視性の制御

  4.9 より大きな粒度のスコープ

  4.10 まとめ

第5章 コードの分割

  5.1 適切な長さにコードを分割する

  5.2 なぜコードを分割するのか

  5.3 代表者の声

  5.4 2つの方向からの分割

  5.5 お題 クライアントにXMLを返すWeb APIの処理を分割する

  5.6 ステップ1 ベタなコードで書いてみる

  5.7 ステップ2 共通処理をメソッドに抽出して分割する

  5.8 ステップ3 処理単位で分割する

  5.9 ステップ4 状態を持つ処理をクラスに抽出して分割する

  5.10 まとめ

第6章 コードの集約

  6.1 コードの重複は悪

  6.2 代表者の声

  6.3 メソッドに抽出してまとめる

  6.4 継承でまとめる

  6.5 ユーティリティクラスにまとめる

  6.6 サービス層にまとめる

  6.7 オブジェクトにまとめる

  6.8 定数にまとめる

  6.9 列挙型(enum)にまとめる

  6.10 まとめ

第7章 データ構造

  7.1 データ構造で勝負が決まる

  7.2 代表者の声

  7.3 データ構造とは?

  7.4 データ構造の指針

  7.5 お題 美容室の予約画面のHTMLを出力する

  7.6 ステップ1 データベースのデータ構造をそのまま利用する

  7.7 ステップ2 処理に最適なデータ構造を把握する

  7.8 ステップ3 最適なデータ構造に変換して利用する

  7.9 まとめ

第8章 コードのパフォーマンス

  8.1 パフォーマンスを意識していますか?

  8.2 代表者の声

  8.3 パフォーマンスは計算量で決まる

  8.4 パフォーマンスチューニングの手順

  8.5 アルゴリズムの選択以外のパフォーマンスチューニング

  8.6 パフォーマンスチューニングの指針

  8.7 まとめ

第9章 ユニットテスト

  9.1 テストはお好きですか?

  9.2 ユニットテストって何?

  9.3 代表者の声

  9.4 ユニットテストの効能

  9.5 お題 Webアプリケーションのセキュリティテスト

  9.6 ステップ1 データベースにテストデータを登録する

  9.7 ステップ2 画面の実装

  9.8 ステップ3 画面のユニットテスト(正常系)

  9.9 ステップ4 画面のユニットテスト(異常系)

  9.10 ユニットテストの指針

  9.11 まとめ

第10章 抽象化

第11章 メタプログラミング

第12章 フレームワークを作ろう

付録A コードリーディングの方法

付録B 解説付き参考文献
 
内容サンプル
 
ユーザーレビュー
 
   
人気 19位
本書の内容
本書はAdaptive Code via C#: Agile coding with design patterns and SOLID principles(Microsoft Press, 2014)の日本語版で、変化に容易に適応できるソフトウェア開発を実現するために、
アジャイル開発、デザインパターン、SOLID原則を、C#でどのように実践するかを解説する書籍です。方法論と実践の間の橋渡しをする解説書で、サンプルコードはVisual Studio 2013ベース。
C#の基本をひととおり理解した開発者が、ワンランク上を目指すために読んでおきたい1冊です。


 
内容サンプル
 
ユーザーレビュー
 
   
人気 20位
本書の内容
(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの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 組織設計とアーキテクチャ
 
内容サンプル
 
ユーザーレビュー
 
   
人気 21位
本書の内容
本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
ユーザーレビュー
 
   
人気 22位
本書の内容
C言語開発をモダンにしよう!

本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。  
内容サンプル
 
ユーザーレビュー
 
   
人気 23位
本書の内容
初めて学ぶ方、過去に挫折した経験のある方、知識を確固たるものにしたい方を対象に、イラストや写真を使ってやさしく楽しく解説する人気のHead Firstシリーズのデザインパターン編。
刺激的なレイアウト、思わず膝を叩く見事なたとえ、引き込まれる小話、楽しいクイズやパズルで飽きることなく読み進むことができます。
複雑難解なデザインパターンの概念が面白いほどよくわかる、目からウロコの画期的な書籍です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 24位
本書の内容
(概要)
Lisp・関数型プログラミングのメリットとは何か――副作用のないプログラミングがまず挙げられます。これでバグが圧倒的に少なくなります。さらにはコードの再利用がしやすいこと,並列処理が得意であるということも。それだけではありません。動的な型付けも特徴ですし,ラムダ計算もクロージャも,さらにはオブジェクト指向までできます。数十年の時を越えて現代にも通用する普遍的なアイデアがLispにはあります。本書はさまざまなLispプログラム(ハノイの塔,エイトクイーン,オンライン書店など)を解説し,さらにリファクタリングまでいっきに学びます。本書で関数型プログラミングのエッセンスを得ることができます。


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

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

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

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

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

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

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

本書で紹介するテクニックを実践すれば、読者の学習スキルおよび思考スキルは向上、日々の生産性を20%から30%改善できると著者は主張します。
名著『達人プログラマー』の著者、アンディ・ハントが語る「あなたの脳をリファクタリングする」方法です。  
内容サンプル
 
ユーザーレビュー
 
   
人気 26位
本書の内容
 
内容サンプル
 
ユーザーレビュー
 
   
人気 27位
本書の内容
(概要)
業務で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 予期しづらいトラブルの受け皿を用意しておく  
内容サンプル
 
ユーザーレビュー
 
   

Copyrights hogehoge