【2022年】リファクタリング・コーディング技術の本「人気・おすすめの10冊」

コードには守るべき原則やアンチパターンなどがあります。それらを認識した上でプログラムを書くことで、保守性、再利用性、可読性などが高く運用しやすいコードとすることができます。

長く使えるコード、未来の自分やチームメンバーにとっても良いコード、を書けるよう、リファクタリング、コーディング作法を身に着けましょう。

こちらでは、リファクタリング、コーディング技術に関する書籍を人気とともに紹介していきます。

 

  1. リファクタリング・コーディング技術の参考書「最新の人気ランキング 20冊」
  2. リファクタリング・コーディング技術の本 人気ランキング/5冊詳細
    1. リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
    2. リファクタリング(第2版): 既存のコードを安全に改善する (OBJECT TECHNOLOGY SERIES)
    3. リファクタリング 既存のコードを安全に改善する(第2版)
    4. エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
    5. レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
  3. リファクタリング・コーディング技術の本 最新・高評価のおすすめの5冊
    1. Game Programming Patterns ソフトウェア開発の問題解決メニュー (impress top gea...
    2. リファクタリング 既存のコードを安全に改善する(第2版)
    3. リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
    4. リファクタリング 既存のコードを安全に改善する(第2版)
    5. リファクタリング(第2版): 既存のコードを安全に改善する (OBJECT TECHNOLOGY SERIES)
  4. リファクタリング・コーディング技術の本「Kindle Unlimited 読み放題 人気本ランキング」
  5. リファクタリング本「新書一覧(2021年、2022年刊行)」
  6. 関連:オブジェクト指向プログラミング・デザインパターンを学ぶ
 

Kindle Unlimited 1ヶ月無料

kindle_unlimited_sale
 
  • 1ヶ月無料で読み放題
  • 1ヶ月以内でも解約可能
  • 解約後も1ヶ月まで利用可


 

リファクタリング・コーディング技術の参考書「最新の人気ランキング 20冊」

今人気の「リファクタリング・コーディング技術の参考書」をランキングで一覧したのが以下です。

(2022/08/18 12:08 更新)
Rank製品価格
1
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)...
発売日 2012/06/23
Dustin Boswell, Trevor Foucher (オライリージャパン)
総合評価
(4.5)
2,640円
2,640円
2,640円
2
4,840円
(+145pt)
4,356円
4,840円
4,840円
3
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Fowler,Martin (オーム社)
総合評価
(4.5)
4,840円
(+145pt)
4,356円
4,840円
4,840円
4
2,618円
2,487円
2,618円
2,308円
5
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス...
発売日 2019/09/19
David Scott Bernstein (オライリージャパン)
総合評価
(4.3)
3,190円
(+310pt)
3,190円
3,190円
6
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/06
MartinFowler (オーム社)
総合評価
(4.6)
4,840円
(+145pt)
4,356円
4,840円
4,840円
7
増補改訂版 Java言語で学ぶデザインパターン入門
発売日 2014/03/12
結城 浩 (SBクリエイティブ)
総合評価
(4.3)
1,005円
3,762円
4,180円
1,754円
8
Code Complete 第2版 上 完全なプログラミングを目指して
発売日 2014/04/02
スティーブ マコネル (日経BP)
総合評価
(4.5)
6,710円
(+201pt)
6,375円
6,710円
2,722円
9
レガシーコード改善ガイド (Object Oriented SELECTION)
発売日 2009/07/14
マイケル・C・フェザーズ (翔泳社)
総合評価
(4.4)
4,620円
(+139pt)
4,158円
4,620円
4,620円
10
1,006円
2,218円
2,464円
2,420円
11
2,398円
(+230pt)
2,278円
2,398円
2,398円
12
独習デザインパターンC++
発売日 2015/03/27
株式会社テクノロジックアート (翔泳社)
総合評価
(3.4)
4,313円
3,600円
3,740円
3,448円
13
オブジェクト指向における再利用のためのデザインパターン...
ガンマ,エリック, ジョンソン,ラルフ, ヘルム,リチャード, ブリシディース,ジョン (ソフトバンククリエイティブ)
総合評価
(3.6)
5,280円
(+520pt)
5,280円
5,280円
14
Java言語で学ぶリファクタリング入門
発売日 2014/03/12
結城 浩 (SBクリエイティブ)
総合評価
(4.1)
2,330円
3,168円
3,520円
2,572円
15
パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法...
発売日 2005/08/04
ジョシュア・ケリーエブスキー, 小黒 直樹, 村上 歴, 高橋 一成 (日経BP)
総合評価
(4.8)
4,599円
4,400円
3,448円
16
リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法...
発売日 2009/04/27
Andy Hunt (オライリージャパン)
総合評価
(3.9)
3,080円
(+143pt)
3,080円
3,080円
17
Game Programming Patterns ソフトウェア開発の問題解決メニュー (impress top gear)...
発売日 2015/09/24
Robert Nystrom (インプレス)
総合評価
(4.6)
6,103円
3,762円
4,180円
4,180円
18
2,838円
2,838円
2,838円
2,838円
19
Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本...
発売日 2005/12/02
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates (オライリージャパン)
総合評価
(4)
5,060円
(+500pt)
5,060円
5,060円
20
新装版 リファクタリング 既存のコードを安全に改善する...
発売日 2014/07/26
Martin Fowler (オーム社)
総合評価
(4.3)
8,014円
売り切れ
4,620円
3,989円
 

以降でおすすめ・注目の本をピックアップしていきます。

Kindle版のある本なら試し読みも可能。大概目次まで見れるので、概要もつかめるので、サンプル試読がおすすめです。

 

リファクタリング・コーディング技術の本 人気ランキング/5冊詳細

以下が「リファクタリング・コーディング技術の本」人気ランキングと人気の5冊詳細です。

(2022/08/18 12:08 更新)
Rank製品価格
1
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)...
発売日 2012/06/23
Dustin Boswell, Trevor Foucher (オライリージャパン)
総合評価
(4.5)
2,640円
2,640円
2,640円
2
4,840円
(+145pt)
4,356円
4,840円
4,840円
3
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Fowler,Martin (オーム社)
総合評価
(4.5)
4,840円
(+145pt)
4,356円
4,840円
4,840円
4
2,618円
2,487円
2,618円
2,308円
5
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス...
発売日 2019/09/19
David Scott Bernstein (オライリージャパン)
総合評価
(4.3)
3,190円
(+310pt)
3,190円
3,190円
 

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

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

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

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
 
内容サンプル

(引用元Amazon)

 
目次
理解しやすいコード
第1部 表面上の改善(名前に情報を詰め込む
誤解されない名前
美しさ
コメントすべきことを知る
コメントは正確で簡潔に)
第2部 ループとロジックの単純化(制御フローを読みやすくする
巨大な式を分割する
変数と読みやすさ)
第3部 コードの再構成(無関係の下位問題を抽出する
一度に1つのことを
コードに思いを込める
短いコードを書く)
第4部 選抜テーマ(テストと読みやすさ
「分
時間カウンタ」を設計・実装する)
付録 あわせて読みたい

↓全て表示↑少なく表示
Users Voice
仕事、趣味問わずプログラミングをする方におすすめです!内容は言語ではなく誰が見ても理解できるコードを書くには?をテーマに書いてます。勉強になりました! (参考:YahooShopping)

↓全て表示 ↑少なく表示
コーディング界隈でよく名前の挙がる名著ですが、非常に読みやすく、短期間で読了できました。 初学者からベテランまで活用できる内容となっております。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
わかりやすいイラストと例え、そしてカジュアルな語り口でともすれば難解になりがちなプログラミングの概念を学ぶことができました。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
ボズウェル,ダスティン(Boswell,Dustin)
カリフォルニア工科大学で理学士号を取得。その後、カリフォルニア大学サンディエゴ校で修士号を取得。Google社で5年間勤務し、ウェブクローリング用のインフラなどさまざまなプロジェクトに携わる

フォシェ,トレバー(Foucher,Trevor)
10年以上もの間、Microsoft社でWindows2000やOneCare、Google社でWeb master Toolsなどのソフトウェアプロジェクトを送り出してきた。現在は独立コントリビュータ・マネージャ・テクニカルリードである

角征典(カドマサノリ)
1978年山口県生まれのプログラマ(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

リファクタリング(第2版): 既存のコードを安全に改善する (OBJECT TECHNOLOGY SERIES)

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

(引用元Amazon)

 
目次
リファクタリングー最初の例
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
内容とては申し分ないのですが、ソースコードのダウンロードができません。よって評価を1つ下げさせてもらいました。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
リファクタリングに関する基本的な姿勢や考え方に関しては参考になる。
ただ、具体的な方法についてはこの本でしか得られない情報というものはほとんどなくリーダブルコード、プログラマが知るべき97のことなどの有名所を読んでいればだいたいエッセンスとしては知っているなというものが多かった気がする。数ポイントを得るには読んだ方がいいが他の本を読んでいるならプラスになる事は少ないかなというイメージ。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
児玉公信(コダマキミノブ)
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査

友野晶夫(トモノマサオ)
フリーランスプログラマー

平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る

梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

リファクタリング 既存のコードを安全に改善する(第2版)

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

(引用元Amazon)

 
目次
リファクタリングー最初の例
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
第2版なので、初版ほどの感動はないがそれでも良書。初版はオブジェクト指向言語をターゲットにしていた(コード例は Java)が、この版はリファクタリングの有効性はそこに収まるものではないことを示している(コード例は JavaScript) (参考:honto)

↓全て表示 ↑少なく表示
再読必須 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
児玉公信(コダマキミノブ)
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査

友野晶夫(トモノマサオ)
フリーランスプログラマー

平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る

梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング

「不確実性」を下げるための方法がわかります!

「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」

エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を、
さまざまな企業の技術組織アドバイザリーを務めている著者が解説。
若手を戦力として育て上げ、成長する組織を設計・運営するためにおすすめの1冊です。
 
目次
1 思考のリファクタリング(すべてのバグは、思考の中にある
不確実性とエンジニアリング ほか)
2 メンタリングの技術(メンタリングで相手の思考をリファクタリング
傾聴・可視化・リフレーミング ほか)
3 アジャイルなチームの原理(アジャイルはチームをメンタリングする技術
アジャイルの歴史 ほか)
4 学習するチームと不確実性マネジメント(いかにして不確実性を管理するか
スケジュール予測と不確実性 ほか)
5 技術組織の力学とアーキテクチャ(何が技術組織の“生産性”を下げるのか
権限委譲とアカウンタビリティ ほか)

↓全て表示↑少なく表示
Users Voice
組織論について書籍で読んだことがなく新社会人になり組織について気になったので購入しました。 「不確実性」への対処がこの本で一貫したテーマなので,込み入った話をしていても頭の片隅に置いておくと読みやすいです. 新卒エンジニアでも,読んでいて学びの多い本なので読むタイミングは選ばない本だと思います.強いて言うなら働き方や将来像に対して「不安」を感じたときに読むのがベストかもしれません. どんな立場でも「不安」に駆り立てられないときはないと思います. この本に書いてある通り見えないものを見えるように行動することで,不安ではなくなり悩みは考えるへと変化します. それは,技術的なことでも,経営においても,アジャイルにおいても同様です. 見えないから不安であり,情報が非対称だから思い通りにならないことが一貫してかかれています. この本の良いところは,個人から集団へとシフトして説明していくことだと思います. そのおかげで,大体の立場において通じる考えを得ることができる本となっています. 不確実性を対処できることが,「エンジニアリング」ということを考えると全てのエンジニアが目指す像はこれなのかもしれない,と思いました. (参考:YahooShopping)

↓全て表示 ↑少なく表示
組織における情報の透明性、
開発における見積りの不確実性を解決しようとしたときに、
どういうことを考えていけばいいのか、
最初の一歩の踏み出し方を教えてくれる本な気がしました。
どの章でも、どの問題でも、
まずは何がわかっていて、何がわかっていないのか、
無知の知ではないが、わかっていないことを知ることを基礎としている気がします。
組織のマネージメントを考えたときに、
この本を読むことで知識の整理、行動の促進、自身の立ち位置の把握と、
振り返りを生むことが多い本だと思いました。
(以下抜粋。○:完全抜粋、●:簡略抜粋)
●「エンジニアリング」とは一体何でしょうか。
(中略)
私たちは、自分たちが日々行っている「エンジニアリング」とは一体何なのかをよく知らないということです。
(中略)
エンジニアリングとは、つまるところ、「実現」していくための科学分野だといえるでしょう。(P.10-11)
●不確実性コーン。プロジェクト初期においての見積もりは、見積もりに対して4倍から1/4の範囲で誤差があります。後半になればなるほどその誤差は減ります。つまり「実現」するエンジニアリングで重要なのは「どうしたら効率よく不確実性を減らしていけるのか」という考え方なのです。(P.12)
●シャノンは、不確実性の量をエントロピーと呼びました。例として天気として、明日は晴れか雨だけだとします。明日は晴れが50%(雨が50%)の場合1bit、晴れが80%(雨が20%)の場合0.72bit、晴れが100%(雨が0%)の場合0bit。(本にはエントロピーの式がある)発生する確率が偏っているほど、不確実性の量は減っていくことがわかります。(P.15)
○全体論とシステム志向は、「人は、問題を個人の責任にしたり、全体像を見失った局所的最適な思考をしてしまう」ので、それが全体像ではないかもしれない、問題は関係性にあるのではないあかという視点と問題解決のための目を提供し、行動を促すものでした。(P.67)
○「情報の非対称性」と「限定的理性」、この2つが、組織における人間の不完全さを加速させ、組織に忍んでいる理不尽の増幅装置となってしまうのです。(P.69)
○「情報の透明性」とは、意思決定と意思決定に関わる情報が、組織内に正しく整合性をもって伝達されるように継続して努力し、何かわからない決定があったとしても、それを隠そうとしたわけではなく、抜けてしまったのか、自分が聞き逃したのだから、直接聞いてみようという関係性をつくることです。情報公開が情報の透明性を作るわけではありません。(P.72)
●メンターとメンティの関係性の条件。
・謙虚:お互いに弱さを見せられる
・敬意:お互いに敬意を持っている
・信頼:お互いにメンティの成長期待をもっている(P.81)
●「悩む」と「考える」の違い
(中略)
「悩んでいる」というのは、頭の中に様々なことが去来し、ぐるぐると思考がめぐり続け、もやもやが取れない状態だと考えています。
(中略)
この状態になったときには、サポートが必要dふぇ、共���考えるための戦略を立てていく必要があります。(P.87)
○メンターは、メンティの問題を直接解くことはできません。メンターができることは、問題を「簡単な問題に変換する」ことだけです。(P.96-97)
●認知フレームを発見する「キーワード」(P.101)
(それぞれの系で抜粋。相手の裏側を考えるのに非常に有効に思える)
こちら系 :この会社 :同じ側にいるように思えるが、実は一体感を持っていない。
あちら系 :あの部署は:同じくくりにいるはずなのに、向こう側と線引きしている。
極端系  :いつも  :ゼロ一で、グラデーションなしの物事判断
すべき系 :~すべき :「~すべき」という枠組みの中で限定的に考えている
決めつけ系:どうせ :感情的に決めていて、事実確認なしで推論している
●承認(アクノレッジメント)の3つの段階(P.112)
存在承認:挨拶を始め、相手がここにいることに対するメッセージ。
行動承認:行動に対して言葉で出して伝える。例えばほめること。
結果承認:できあがったものに対して主観を込めて伝える。ほめるより広い範囲への承認。
○マネジメントとは、対象となる○○の資源・資産・リスクを管理し、効果を最大化する手法(P.136)
○「アジャイル」状態とは、具体的にどのような状態でしょうか。それは以下のような状態のいのことを意味しています。
・情報の非対称性が小さい
・認知の歪みが少ない
・チームより小さい限定合理性が働かない
・対人リスクを取れていて心理的安全性が高い
・課題・不安に向き合い不確実性の削減が効率よくできている
・チーム全体のゴール認識レベルが高い(P.141)
●SECIモデル(P.151)
共同化・表出化・連結化・内面化という各フェーズを繰り返していくことで、知識というものが発展的に組織的に蓄積されます。
・共同化:組織において共通の経験を積み重ねることで、暗黙的な経験的な知識が共有されているフェーズ。共同化を促すためには、経験や思い、信念などをストーリーテリングする場が必要になる。
(異なる人が独自に実施)
・表出化:体感的で明文化されていない経験的知識の共通点や抽象的な構造・類似点を見つけモデル化していく工程。これはメンタリング的な対話によって引き出されていく。
(構造化、類似点の抽出によりモデリング、文章化)
・連結化:複数の形式的な知識を積み重ねて、1つの知識体系を作るフェーズ。そのためには、形式知を共有・編集・結合させるような場が必要で、Wikiなどのシステムはそのようなことを目的としている。
(Wikiなどによる凝縮して他の人ができるようにする)
・内面化:形式知として生まれた知識体系を知識として覚えている状態から、実践や行動を通じて、体感的・身体的に「理解できた」という状態に変えるフェーズ
(文書化された知識を実践や行動に移すが、ゆっくりと見ながらでもよい練習している状態)
○「見積り」について考えてみましょう。ソフトウェア開発は同じことを二度と繰り返す必要が基本的にないので、毎回どこかしら初めての作業になります。そのため、作業見積もりというのはいい加減なもので、正解とは限りません。ですが、作業実績であればどうでしょうか。これは過去の実例なので正確な数値です。これをもとに将来を見通すほうが、より正確になるはずです。(P.177)
(アジャイルに限らず予測と実績を取得しておくことで、初めて改善できる。やるやらを考える時にも、なんのためにやるのか、測定できる何が改善されるのかを考えないといけないということ。)
○プロジェクト型チームはレスポンスタイムを最適化する。
プロダクト型チームはスループットを最適化する。(P.179)
●見積りは、あくまで予測です。しかし、この予測を「ノルマ」として扱ってしまった場合、それが達成できないときに能力や評価の問題にされる可能性が出てしまいます。
(中略)
予測を「ノルマ」にした途端、それを達成するための過負荷な労働が生まれ、クオリティは下がってしまいます。あるいは、スケジュールの予測精度はどんどんと下がってしまいます。このようなことを避けるために、エンジニアは次からは防衛的で悲観的なケースで見積りを行うとします。(P.190)
●2点見積り、3点見積り(P.193)
●エピック→テーマ→ストーリー→タスク(P.208)
○すでに成功しているビジネスであれば、公開されている情報からでもリーンキャンバスを再現することはできるでしょう。成功しているビジネス10個程度ピックアップして、そこからリーンキャンバスを想像するという練習を繰り返すと、プロダクトのもつ本質が見えてくるようになります。
 仮説検証における仮説は、十分な情報があるところとから導かれる正解ではありません。わずかな痕跡からでもよいのではっきりとした具体的なイメージをもつことで、はじめて仮説と現実の違いを認識することができます。(P.220)
○技術的負債は「見ることができない」(P.256)
●技術的負債というと抽象度が高く見ることができないが、解決方法を調査検討することで何が問題が見えてきます。見えてこればそれはただのタスクでしかありません。(P.264)
●システム外注における取引コスト
・探索のコスト:クオリティの高い外注先を探す、関係を構築するコスト
・交渉のコスト:契約条件をまとめるコスト
・監督のコスト:品質の監視、維持、検収をするコスト(P.276) (参考:honto)

↓全て表示 ↑少なく表示
しっくりきました。めちゃくちゃ参考になりました。
本のタイトルに「組織論」とありますが、実際には「ソフトウェア開発における不確実性がもたらす問題と、その対処方法」について書かれた本だと思います。「組織論」としてまとめられているのは、デマルコの「ソフトウェア開発における問題のほとんどは技術的なものではなく社会学的なものである」という考えや、コンウェイの法則という「ソフトウェアは開発する組織の状態に依存する」という考えがベースになっているからのようです。つまり、良い組織であればソフトウェア開発もうまくいくし、組織に何らかの問題があればプロダクトにもひずみが出る、ってことです。プロマネ(プロジェクトマネジメント、プロダクトマネジメント)やアジャイル開発、チームビルディングに興味がある人には、きっと役立ちます。
メンタリングやアジャイルなど、書いてある視点が多様すぎて、一見何について書かれた本か理解しにくいかもしれません。また、この本では、章ごとに、個人→ペア→チーム→組織の順で、不確実性による問題点が書かれているのですが、この、組織論でありながら個人や一対一のペアの話から組み立てられた章立てが、少しとっつきにくくしているところがあると思います。ただ、チームや組織の問題を理解するため必要な流れになっていて、最後まで読むことで、すっきりと全体を理解できると思います。(ですので飛ばさずに順を追って読むことをおすすめします)
簡単に要約です。
ソフトウェア開発における不確実性とは、なんのことでしょうか?不確実性は大別すると「未来のことがわからない」と「他人のことがわからない」の2つに分けられます。そして不確実性は、情報を生み出すことで潰すことができます。
前者の未来に対しては、経験主義・仮説主導をベースに行動から情報を得ていくことが必要とされます。論理的思考には盲点がありそれだけでは足りたないとされます。またシステム思考で全体を俯瞰し、問題を正しく認識しないといけません。
後者の他人に対してはコミュニケーションを取ることが求められます。ただそこには、情報の非対称性と、それによる限定合理性が働くため、簡単にはうまく行きません。
・・・と、ここまでが第一章の内容で、個人の思考を変える必要性が説かれています。そしてこの考えがベースとなり、他者へのメンタリング、アジャイル、組織論へと段々と領域を広げて話が展開していきます。
エンジニアに限らず他職種の人にも役立つと思います。興味持たれた方はぜひ。 (参考:honto)

↓全て表示 ↑少なく表示
著者略歴
広木大地(ヒロキダイチ)
株式会社レクター取締役。1983年生まれ。筑波大学大学院を卒業後、2008年に新卒第1期として株式会社ミクシィに入社。同社のアーキテクトとして、技術戦略から組織構築などに携わる。同社メディア開発部長、開発部部長、サービス本部長執行役員を務めた後、2015年退社。株式会社レクターを創業し、技術と経営をつなぐ技術組織のアドバイザリーとして、多数の会社の経営支援を行っている(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス

■「ITエンジニア本大賞 2020」技術書部門大賞受賞!

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

本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。
プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。
信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。
 
目次
第1部 レガシーコード危機(何かが間違っている
CHAOSレポート再考
賢人による新しいアイデア)
第2部 ソフトウェアの寿命を延ばし価値を高める9つのプラクティス(9つのプラクティス
プラクティス1 やり方より先に目的、理由、誰のためかを伝える
プラクティス2 小さなバッチで作る
プラクティス3 継続的に統合する
プラクティス4 協力しあう
プラクティス5 「CLEAN」コードを作る
プラクティス6 まずテストを書く
プラクティス7 テストでふるまいを明示する
プラクティス8 設計は最後に行う
プラクティス9 レガシーコードをリファクタリングする
レガシーコードからの学び)

↓全て表示↑少なく表示
Users Voice
レガシーなIT企業であればささる内容が多いと思います。逆にモダンなIT企業であれば学ぶことはあまりないかなと。「設計は最後に行う」の部分はなるほどなと感じました。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
現役のソフトウェアエンジニアには必須と言っても良い本だと思います。 何がレガシーコードで何がそうでないかしっかりと記載があるので、ぜひ一読ください (参考:YahooShopping)

↓全て表示 ↑少なく表示
2020年ITエンジニア本技術書部門大賞ということでずっと気になっていたのだけど、ようやく購入する決心がついて読んでみた。
ソフトウェア開発において、バグというのはどうしても避けられないものではあるけど、それをできるだけ少なくすむ手法について9つのプラクティスにわけて書かれてあるように思った。
レガシーコード。それは、修正や拡張が非常に難しいコードだそうだけど、自分が普段書いているコードはレガシーコードなのだろうなと思う。書いてるときにはとにかく先に動くコードを書いて後から修正しようと思い、コードの品質がおざなりになり、しかもそのコードを見返さずにテストをするものだから、リリース後に「もっとリファクタリングすればよかった」と思う今日この頃です。
コメントについては、前から「なぜそうしているのか」を書いた方がいいというのは聞くしこの本にもそう書いてあるのだけど、どうしても「何をしているか」を書いちゃうという。最悪この本にも書いてあるように、コードを修正してもコメントを修正しない(同期がとれていない)という、コードを読む人にとってはどっちが正しいのか分からない状態になってしまうという。本当、ここは反省する。
CHAOSレポートというのは初めて知った。ソフトウェア開発プロジェクトが成功したか(当初想定した機能を想定期間と予算内に抑えてリリースした)、問題ありだったか(リリースしたが予算超過や機能を削った)、失敗だったか(リリースできずに中止した)を調査したものらしい。年々このレポートでの成功の割合は増えているのだとか。著者によるとその理由は、アジャイル開発手法が普及したからだろうとのこと。アジャイル開発ってやっぱり重要なんだなぁ。
ただし、この「成功」の定義を見ていて思ったのは、「これって、バグが大量にあっても成功になってしまうような?」と思ったら、まさしくそうらしい。そういう意味で、何が成功といえるのかを定義するのは難しいのだろうなと思う。
ソフトウェアは変更可能なように書かれていなければならないというのはまさにそうだろうなと思うけど、コードを書いているときにはそんなこと考えもせず書いてしまいがちなのでなんとかしたい。そういう意味では、後で読みやすいコードを書くというのは本当に重要なのだろうなと思うのだけど、それは日本語で書く文章と同じで、そうしたいと思うだけじゃ、なかなかうまくいかないのだろうなと思う。
後、前からちょっと興味はあるけどできていないペアプログラミングについて。どうも、もっとも価値がありながら、もっとも誤解され過小評価されているプラクティスだそう。一見、二人で同じことをやってると同じ時間で半分しかできないのではないかと思うしね。実際、早くできても1.5だそうなので、2人で別々の作業をやるよりは少ないらしい。ただし、そのコードにはバグが少ないので、デバッグの時間まで考慮するとペアプログラミングをしたほうが合計時間は短くなることが多いのだとか。自分も1回、どういう感じかはやってみたいとは思うのだけど、なかなか機会がない。
リファクタリングについて、確かに重要なのだろ��なと思う。なぜか、テスト期間中は修正しようと思わないのに、リリース直後に「リファクタリングしとけばよかった!」と後悔することがよくある(というより今現在がそう)。リリースしてからもバグが見つかったらそのタイミングで修正はできるけど、なんとなくリファクタリングしたら別のバグがうまれそうで怖いと思う(実際、リファクタリングしたせいでバグが増えたということはある)。
ところで、バグをださないという点ではテストが非常に重要になってくるのだけど、この本でもテストの重要性についてもちゃんと書かれていた。ただし、手動でのテストではなく、テストコードによる自動テストなので自分はほとんど全くといっていいほどできていないことだ。
著者が知っている優秀な開発者の中には、20秒ごとにテストを実行している人もいるのだとか。正直、ここについては意味が分からなかった。コードを修正するのに、20秒以内にコンパイルが通るコードを書く必要があるというなのか。結構難しくないかと思った。
テストコードについては実際のプログラムコードを書くより先に書いた方がいいらしく、それがそのまま仕様と呼べるものにしたほうがいいそうだ。
テスト駆動開発とかテストファーストとかは用語はよく聞くし、なんとなく重要なのだろうなと思うのだけど、全く書いたことがないし、書きたいともあまり思ってこなかった。だって、テストがうまく動かなかったら、プログラムコードのバグだけではなく、テストコードのバグも考えられるわけだし、変更が発生した場合も両方を修正しなければいけない可能性もあるという非常に面倒くさいイメージがある。ただ、これもやったことがない人の言い訳なようにも思うので、一度テストファーストでコードを書いてみたいなとはこの本を読んで思った。具体的な方法について、もっと勉強したほうがいいのだろうな。
そういえば、トヨタ生産方式のカイゼンというのはよく聞くけど、それはもともとアメリカ人のエドワード・デミングによるアイデアだったというのは初めて知った。てっきりトヨタ内の日本人の誰かが考えたものなのかと。なんだかんだいって、日本の高度成長が実現できたのは、アメリカの助けもあったからなのかなと思った。 (参考:honto)

↓全て表示 ↑少なく表示
著者略歴
バーンスタイン,デビッド・スコット(Bernstein,David Scott)(バーンスタイン,デビッドスコット)
IBM、Microsoft、Yahooを含む何百もの会社の何千人もの開発者とソフトウェアを作る情熱を共有してきた。彼の会社To Be Agile社は、テストファースト開発、ペアプログラミング、リファクタリングといったエクストリームプログラミングのプラクティスをチームに適用するのを助けている

吉羽龍太郎(ヨシバリュウタロウ)
株式会社アトラクタFounder兼CTO/アジャイルコーチ。アジャイル開発、DevOps、クラウドコンピューティングを中心としたコンサルティングやトレーニングに従事。野村総合研究所、Amazon Web Servicesなどを経て現職。認定チームコーチ(CTC)/認定スクラムプロフェッショナル(CSP)/認定スクラムマスター(CSM)/認定スクラムプロダクトオーナー(CSPO)。Microsoft MVP for Azure。青山学院大学非常勤講師(2017~)

永瀬美穂(ナガセミホ)
株式会社アトラクタFounder兼CBO/アジャイルコーチ。受託開発の現場でソフトウェアエンジニア、所属組織のマネージャーとしてアジャイルを導入し実践。アジャイル開発の導入支援、教育研修、コーチングをしながら、大学教育とコミュニティ活動にも力を入れている。産業技術大学院大学特任准教授、東京工業大学、筑波大学非常勤講師。一般社団法人スクラムギャザリング東京実行委員会理事

原田騎郎(ハラダキロウ)
株式会社アトラクタFounder兼CEO/アジャイルコーチ。アジャイルコーチ、ドメインモデラー、サプライチェーンコンサルタント。Scrum@Scale Trainer/認定スクラムプロフェッショナル(CSP)。外資系消費財メーカーの研究開発を経て、2004年よりスクラムによる開発を実践。ソフトウェアのユーザーの業務、ソフトウェア開発・運用の業務の両方を、より楽に安全にする改善に取り組んでいる

有野雅士(アリノマサシ)
株式会社アトラクタアジャイルコーチ。アジャイル開発、DevOps、クラウドコンピューティングのコンサルティングやコーチを行っている。認定スクラムプロフェッショナル(CSP)/認定スクラムマスター(CSM)/認定スクラムプロダクトオーナー(CSPO)。一般社団法人スクラムギャザリング東京実行委員会理事(2016~)(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

   

リファクタリング・コーディング技術の本 最新・高評価のおすすめの5冊

以下が「リファクタリング・コーディング技術の本」最新・高評価のおすすめの5冊詳細です。

(2022/08/18 12:02 更新)
Rank製品価格
1
Game Programming Patterns ソフトウェア開発の問題解決メニュー (impress top gear)...
発売日 2015/09/24
Robert Nystrom (インプレス)
総合評価
(4.6)
6,103円
3,762円
4,180円
4,180円
2
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/06
MartinFowler (オーム社)
総合評価
(4.6)
4,840円
(+145pt)
4,356円
4,840円
4,840円
3
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)...
発売日 2012/06/23
Dustin Boswell, Trevor Foucher (オライリージャパン)
総合評価
(4.5)
2,640円
2,640円
2,640円
4
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Fowler,Martin (オーム社)
総合評価
(4.5)
4,840円
(+145pt)
4,356円
4,840円
4,840円
5
4,840円
(+145pt)
4,356円
4,840円
4,840円
 

Game Programming Patterns ソフトウェア開発の問題解決メニュー (impress top gea...

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

ゲームプログラミングを含むソフトウェア開発の現場において、デザインパターンをより的確に利用するための解説書。

著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。
その経験に基づき、GoFや著者独自のパターンについて考察。

より容易に変更できる洗練されたアーキテクチャ、
ゲームに求められる実行速度といった視点を重視しつつ、
幅広く応用できるパターンやゲーム必須のパターンを取り上げています。

本書は、米国アマゾンで60以上のレビューを集め、その9割が星5つ。
『Game Programming Patterns』の翻訳書です。

プログラムの構成・構造を転換!
良いパターンはフレームワークや方法論を超える。


【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。
この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。
ですから、作りたいゲームに役立つものをメニューから選んで組み合わせることができます。

題名に「パターン」という言葉の入った本はどれも、「四人組」と呼ばれた
エリック・ガンマ、リチャード・ヘルム、ラルフ・ジョンソン、ジョン・ブリシディーズの
『オブジェクト指向における再利用のためのデザインパターン』とはっきりした関連を持っています。

この本の題名を『ゲーム プログラミング パターンズ』としたからといって、
四人組の本がゲームの世界では役に立たないと言うつもりはありません。まったく逆です。
Part IIでは『・・・ためのデザインパターン』で解説されているパターンを数多く取り上げます。
ただし、ゲームプログラミングにどうすれば応用可能かに力点を置いています。

その一方で、私はこの本がゲーム以外のソフトウェアにも応用可能だと思っています。
本の題名を『続・デザインパターン』としてもよかったのですが、
ゲームを扱ったほうが魅力のある例が示せると考えました。
社員台帳や銀行口座についての本を書いても面白くありませんから。

そのようなわけで、この本で説明するパターンはどんなソフトウェアにも有用ですが、
とりわけゲームプログラミングで突き当たる難問を解決するのに役立つと思います。

↓全て表示↑少なく表示
 
内容サンプル

(引用元楽天Books)

 
Users Voice
ゲーム開発におけるコード設計の勉強のために購入。ちょっと思ってたのとは違った内容だったけれど、勉強になりましたら。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
Webフロントエンドの複雑化に伴い、フロントエンドの設計手法の整備は現代の重要な課題だ。
そんななか、複雑なフロントエンドを何十年も構築してきたのは『ゲーム』の世界だ。
つまり状態をUIに変換していくにあたりどうモデリングするか、ゲームプログラミングからこそ学ぶ点があると思い、本書を手に取った。
この本は、いわゆるデザインパターンをどう道具としてフロントエンドで使っていくかを表したものである。
特定の技術スタックに依存した内容でないため、普遍的な知識を学ぶことができた。
特にコマンドパターンは見方を変えればFluxであり、現代Webフロントエンドにも繋がってくる考え方だ。
やはりこうした自分の領域にとらわれないすぎない知識収集が、最先端を歩んでくためには必要になってくるだろうと再確認した。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元楽天Books)

 
  

リファクタリング 既存のコードを安全に改善する(第2版)

リファクタリング 既存のコードを安全に改善する(第2版)
(著)MartinFowler
発売日 2019/12/06
総合評価
(4.6)
(2022/08/18 12:08時点)
※この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 継承の取り扱い
文献リスト 
訳者あとがき
索引

↓全て表示↑少なく表示
 
内容サンプル

(引用元Amazon)

 
目次
リファクタリングー最初の例
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
内容とては申し分ないのですが、ソースコードのダウンロードができません。よって評価を1つ下げさせてもらいました。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
リファクタリングに関する基本的な姿勢や考え方に関しては参考になる。
ただ、具体的な方法についてはこの本でしか得られない情報というものはほとんどなくリーダブルコード、プログラマが知るべき97のことなどの有名所を読んでいればだいたいエッセンスとしては知っているなというものが多かった気がする。数ポイントを得るには読んだ方がいいが他の本を読んでいるならプラスになる事は少ないかなというイメージ。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
児玉公信(コダマキミノブ)
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査

友野晶夫(トモノマサオ)
フリーランスプログラマー

平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る

梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

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

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

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
 
内容サンプル

(引用元Amazon)

 
目次
理解しやすいコード
第1部 表面上の改善(名前に情報を詰め込む
誤解されない名前
美しさ
コメントすべきことを知る
コメントは正確で簡潔に)
第2部 ループとロジックの単純化(制御フローを読みやすくする
巨大な式を分割する
変数と読みやすさ)
第3部 コードの再構成(無関係の下位問題を抽出する
一度に1つのことを
コードに思いを込める
短いコードを書く)
第4部 選抜テーマ(テストと読みやすさ
「分
時間カウンタ」を設計・実装する)
付録 あわせて読みたい

↓全て表示↑少なく表示
Users Voice
仕事、趣味問わずプログラミングをする方におすすめです!内容は言語ではなく誰が見ても理解できるコードを書くには?をテーマに書いてます。勉強になりました! (参考:YahooShopping)

↓全て表示 ↑少なく表示
コーディング界隈でよく名前の挙がる名著ですが、非常に読みやすく、短期間で読了できました。 初学者からベテランまで活用できる内容となっております。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
わかりやすいイラストと例え、そしてカジュアルな語り口でともすれば難解になりがちなプログラミングの概念を学ぶことができました。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
ボズウェル,ダスティン(Boswell,Dustin)
カリフォルニア工科大学で理学士号を取得。その後、カリフォルニア大学サンディエゴ校で修士号を取得。Google社で5年間勤務し、ウェブクローリング用のインフラなどさまざまなプロジェクトに携わる

フォシェ,トレバー(Foucher,Trevor)
10年以上もの間、Microsoft社でWindows2000やOneCare、Google社でWeb master Toolsなどのソフトウェアプロジェクトを送り出してきた。現在は独立コントリビュータ・マネージャ・テクニカルリードである

角征典(カドマサノリ)
1978年山口県生まれのプログラマ(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

リファクタリング 既存のコードを安全に改善する(第2版)

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

(引用元Amazon)

 
目次
リファクタリングー最初の例
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
第2版なので、初版ほどの感動はないがそれでも良書。初版はオブジェクト指向言語をターゲットにしていた(コード例は Java)が、この版はリファクタリングの有効性はそこに収まるものではないことを示している(コード例は JavaScript) (参考:honto)

↓全て表示 ↑少なく表示
再読必須 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
児玉公信(コダマキミノブ)
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査

友野晶夫(トモノマサオ)
フリーランスプログラマー

平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る

梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

リファクタリング(第2版): 既存のコードを安全に改善する (OBJECT TECHNOLOGY SERIES)

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

(引用元Amazon)

 
目次
リファクタリングー最初の例
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
内容とては申し分ないのですが、ソースコードのダウンロードができません。よって評価を1つ下げさせてもらいました。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
リファクタリングに関する基本的な姿勢や考え方に関しては参考になる。
ただ、具体的な方法についてはこの本でしか得られない情報というものはほとんどなくリーダブルコード、プログラマが知るべき97のことなどの有名所を読んでいればだいたいエッセンスとしては知っているなというものが多かった気がする。数ポイントを得るには読んだ方がいいが他の本を読んでいるならプラスになる事は少ないかなというイメージ。 (参考:honto)

↓全て表示 ↑少なく表示
内容サンプル

(引用元Amazon)

 
著者略歴
児玉公信(コダマキミノブ)
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査

友野晶夫(トモノマサオ)
フリーランスプログラマー

平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る

梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

   

リファクタリング・コーディング技術の本「Kindle Unlimited 読み放題 人気本ランキング」

「Kindle Unlimited」は、Amazonの定額本読み放題サービス。

最近はKindle Unlimitedで読める本もどんどん増えており、雑誌、ビジネス書、実用書などは充実のラインナップ。

以下がKindle Unlimitedで読み放題となるリファクタリング・コーディング技術の本の一覧です。

30日無料体験も可能なので、読みたい本があれば体験期間で無料で読むことも可能です。

(2022/08/18 12:05 更新)
 

リファクタリング本「新書一覧(2021年、2022年刊行)」

IT技術・プログラミング言語は、最新情報のキャッチアップも非常に重要、すなわち新書は要チェック

ということで、2020年以降に発売したリファクタリング本の新書一覧(発売日の新しい順)が以下です。

(2022/08/18 12:08 更新)
製品価格
リファクタリング:Rubyエディション
発売日 2020/03/21
ジェイ・フィールズ, シェーン・ハービー, マーティン・ファウラー (復刊ドットコム)
総合評価
(4.5)
8,800円
8,800円
8,800円
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/06
MartinFowler (オーム社)
総合評価
(4.6)
4,840円
(+145pt)
4,356円
4,840円
4,840円
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Fowler,Martin (オーム社)
総合評価
(4.5)
4,840円
(+145pt)
4,356円
4,840円
4,840円
2,398円
(+230pt)
2,278円
2,398円
2,398円
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス...
発売日 2019/09/19
David Scott Bernstein (オライリージャパン)
総合評価
(4.3)
3,190円
(+310pt)
3,190円
3,190円
1,200円
2,618円
2,487円
2,618円
2,308円
2,838円
2,838円
2,838円
2,838円
Game Programming Patterns ソフトウェア開発の問題解決メニュー (impress top gear)...
発売日 2015/09/24
Robert Nystrom (インプレス)
総合評価
(4.6)
6,103円
3,762円
4,180円
4,180円
C#実践開発手法 (マイクロソフト公式解説書)
発売日 2015/06/04
Gary McLean Hall (日経BP)
総合評価
(4.1)
2,215円
5,500円
7,812円
独習デザインパターンC++
発売日 2015/03/27
株式会社テクノロジックアート (翔泳社)
総合評価
(3.4)
4,313円
3,600円
3,740円
3,448円
新装版 リファクタリング 既存のコードを安全に改善する...
発売日 2014/07/26
Martin Fowler (オーム社)
総合評価
(4.3)
8,014円
売り切れ
4,620円
3,989円
Code Complete 第2版 上 完全なプログラミングを目指して
発売日 2014/04/02
スティーブ マコネル (日経BP)
総合評価
(4.5)
6,710円
(+201pt)
6,375円
6,710円
2,722円
400円
Java言語で学ぶリファクタリング入門
発売日 2014/03/12
結城 浩 (SBクリエイティブ)
総合評価
(4.1)
2,330円
3,168円
3,520円
2,572円
増補改訂版 Java言語で学ぶデザインパターン入門
発売日 2014/03/12
結城 浩 (SBクリエイティブ)
総合評価
(4.3)
1,005円
3,762円
4,180円
1,754円
1,006円
2,218円
2,464円
2,420円
2,750円
2,750円
2,750円
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)...
発売日 2012/06/23
Dustin Boswell, Trevor Foucher (オライリージャパン)
総合評価
(4.5)
2,640円
2,640円
2,640円
ドメイン特化言語 パターンで学ぶDSLのベストプラクティス46項目...
発売日 2012/05/02
マーチン ファウラー, Martin Fowler (ピアソン桐原)
総合評価
(3.9)
2,775円
6,270円
1,478円
 

関連:オブジェクト指向プログラミング・デザインパターンを学ぶ

コードの品質を上げるリファクタリング知識とともに重要なのが、プログラム設計に関する知識です。

安全・堅牢・再利用性の高い設計ができることで、プログラムの保守や拡張性高く運用していくことが可能。

以下では、設計の重要な要素となる「オブジェクト指向プログラミング(OOP)」「デザインパターン」に関する書籍を紹介しています、合わせてのぞいて見てください。

 

いじょうでっす。

コメント

タイトルとURLをコピーしました