レバテックフリーランスのサイトに当サイトが紹介されました!

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

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

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

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

 

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

Kindle Unlimited 1ヶ月無料

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


 

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

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

(2024/06/18 12:12 更新)
Rank製品価格
1
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)...
発売日 2012/06/23
Dustin Boswell, Trevor Foucher (オライリージャパン)
総合評価
(4.5)
2,640円
2,640円
2,640円
2
3,278円
3,212円
3,278円
3,278円
3
4,840円
(+146pt)
4,356円
4,840円
4
2,618円
2,566円
1,680円
2,308円
5
Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)...
発売日 2017/12/28
Robert C.Martin, 花井 志生 (ドワンゴ)
総合評価
(4.6)
4,180円
(+126pt)
3,762円
4,180円
4,180円
6
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Martin Fowler 著 (オーム社)
総合評価
(4.6)
4,840円
(+146pt)
4,356円
4,840円
4,840円
7
2,838円
2,838円
2,838円
2,838円
8
オブジェクト指向における再利用のためのデザインパターン...
Erich Gamma (ソフトバンククリエイティブ)
総合評価
(4.1)
5,280円
(+159pt)
5,280円
5,280円
9
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/06
MartinFowler (オーム社)
総合評価
(4.6)
4,840円
(+146pt)
4,356円
4,840円
10
増補改訂版 Java言語で学ぶデザインパターン入門
発売日 2014/03/12
結城 浩 (SBクリエイティブ)
総合評価
(4.3)
361円
3,762円
4,180円
1,754円
11
Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ...
発売日 2015/09/24
Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘 (インプレス)
総合評価
(4.6)
4,180円
3,762円
4,180円
4,180円
12
Code Reading プレミアムブックス版 オープンソースから学ぶソフトウェア開発技法...
発売日 2016/08/26
Diomidis Spinellis (マイナビ出版)
総合評価
(4.6)
7,480円
6,732円
7,480円
4,450円
13
1,356円
2,218円
2,464円
2,420円
14
リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法...
発売日 2009/04/27
Andy Hunt (オライリージャパン)
総合評価
(3.7)
3,040円
1,000円
3,080円
15
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス...
発売日 2019/09/19
David Scott Bernstein (オライリージャパン)
総合評価
(4.2)
3,190円
3,190円
3,190円
16
3,370円
3,450円
(+104pt)
3,520円
3,520円
17
Head Firstデザインパターン ―頭とからだで覚えるデザインパターンの基本...
発売日 2005/12/02
Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates (オライリージャパン)
総合評価
(4)
348円
5,060円
5,060円
18
オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES)
発売日 2005/09/16
アラン・シャロウェイ, ジェームズ・R・トロット (ピアソン・エデュケーション)
総合評価
(4.5)
1,730円
4,180円
4,941円
19
レガシーコード改善ガイド: 保守開発のためのリファクタリング...
発売日 2009/07/01
マイケル C.フェザーズ (翔泳社)
総合評価
(4.5)
4,620円
(+139pt)
売り切れ
4,620円
4,620円
20
実戦で役立つ C#プログラミングのイディオム/定石&パターン...
発売日 2017/02/18
出井 秀行 (技術評論社)
総合評価
(4.2)
3,278円
(+197pt)
3,278円
3,278円
3,278円
 

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

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

 

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

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

ランキングはAmazonの書籍売上ランキングに基づき毎日更新されています。

(2024/06/18 12:12 更新)
Rank製品価格
1
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)...
発売日 2012/06/23
Dustin Boswell, Trevor Foucher (オライリージャパン)
総合評価
(4.5)
2,640円
2,640円
2,640円
2
3,278円
3,212円
3,278円
3,278円
3
4,840円
(+146pt)
4,356円
4,840円
4
2,618円
2,566円
1,680円
2,308円
5
Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)...
発売日 2017/12/28
Robert C.Martin, 花井 志生 (ドワンゴ)
総合評価
(4.6)
4,180円
(+126pt)
3,762円
4,180円
4,180円
 

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (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年山口県生まれのプログラマ(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで (Software Des...

TypeScriptらしいコードの書き方を学べます

TypeScriptは、JavaScriptに静的型付けの機能を加えたオープンソースのプログラミング言語です。本書では、根幹となるJavaScriptの仕様・機能とともに、TypeScript独自の仕様・機能を解説します。TypeScriptの基礎知識はこれ一冊だけで学べます。
静的型付き言語は世にいくつもありますが、TypeScriptの型システムは他に類を見ない高い表現力を持っています。本書の読者が、型の有効性を理解しTypeScriptらしいコードを書けるようになるために、本書では、プログラムの安全性を高める基本的な型の扱い方から、TypeScriptの「高い表現力」の源となっているリテラル型・ユニオン型・keyof 型の扱い方まで幅広く取り上げます。また、わかりにくい機能や型安全を脅かす危険な機能についてもごまかさず、歴史的経緯や目的・用途を踏まえたうえで最善の扱い方を説明します。
章ごとに力試し問題を用意しており、理解の度合いを確認しながら学習を進められます。

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

(引用元Amazon)

 
目次
第1章 イントロダクション
第2章 基本的な文法・基本的な型
第3章 オブジェクトの基本とオブジェクトの型
第4章 TypeScritpの関数
第5章 TypeScriptのクラス
第6章 高度な型
第7章 TypeScriptのモジュールシステム
第8章 非同期処理
第9章 TypeScriptのコンパイラオプション
付録

↓全て表示↑少なく表示
Users Voice
構造的部分型など一部難しい項目もあるが、概ね初学者でも体系的に学べる良本。また、語弊のないような但し書きで細心の注意がなされているのもよかった。 (参考:楽天)

↓全て表示 ↑少なく表示
「なぜTypeScriptを使うか」という所から親切に解説してあり、入門として良い本だと思いました。さまざまな型の使い方について、具体例を交えて説明されており、明日から使えそうなテクニックも多かったです。自分はTypeScript歴2〜3年程度ですが、知らなかった内容も結構ありました。中級者以上でも十分読み応えがあると思います。

「プログラミング言語を使った易しいモノ作り入門」といった内容ではありません。 (参考:楽天)

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

(引用元Amazon)

 
著者略歴
鈴木僚太(スズキリョウタ)
2013年からTypeScriptを使用中。LINE株式会社でフロントエンドエンジニアとして自社開発に従事しながら、技術顧問なども行っている(『プロを目指す人のためのTypeScript入門ー安全なコードの書き方から高度な型の使い方まで』発行当時)。専門はTypeScriptとReactで、講演やインターネット上での記事公開を通じて初心者向けから上級者向けまでさまざまな情報を発信している。OSS活動にも積極的だが自作のライブラリはあまり流行っていない(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

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

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

(引用元Amazon)

 
Users Voice
1版、Java版は蔵書としてあるのですが。所属している会社ではフロントエンド寄りの業務が多く、プログラムというとwebでJavaScriptのみ(たまにPHP)で完結することが多い環境にいる人です。

JSで1ファンクションが長くても100行、200行程度、ランディングページとかで継続的メンテナンスは求められない。
なのでどうしても「ベタ書き、とりあえず動けばいい、なるはやで」というコーディングが重宝される。
そんな環境です。(でした?かな。それだけではやっていけなくなっているので)

はい。”ブラックボックス”だらけです。大半のコードを書いた人たちはもう社内にいません、よくある話です。
・長大なファンクションを、入れ子ファンクションできりわける
・一時変数の特定、いらないやつは撲滅
・異常系の検出がおろそかだったので、オブジェクト自身に異常検出機能をつけてみた
などを、「夏休みの宿題・工作」みたいな感じでメンバといっしょに取り組んでいます。

本書について。
文章の言い回しは固くはないのですが、あつかっている処理ちょっと難しい話なので、誰でもがさらっとよめる本ではないようです。しかしサンプルがJavaScriptなので、とりあえず「記載されているコードの意味」はわかってもらえているようです。

最後に。
本書に盲従する必要はないとは思います。いろんなスタイルの一例です。
ただ、本書を通じることで、ある程度の共通認識を持ったうえで、コーディング職人の間での意見交換や価値観論争などは良いことかな、と思いました。

最後の最後に。
急激な変化を嫌う人もいるので、「押し売り」にならないように気を付けて。 (参考:楽天)

↓全て表示 ↑少なく表示
 
  

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

(概要)
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を,さまざまな企業の技術組織アドバイザリーを務めている著者が解説。若手を戦力として育て上げ,成長する組織を設計・運営するためにおすすめの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 組織設計とアーキテクチャ

↓全て表示↑少なく表示
 
目次
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年退社。株式会社レクターを創業し、技術と経営をつなぐ技術組織のアドバイザリーとして、多数の会社の経営支援を行っている(本データはこの書籍が刊行された当時に掲載されていたものです)

↓全て表示↑少なく表示

  

Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)

Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)
(著)Robert C.Martin, 花井 志生
発売日 2017/12/28
総合評価
(4.6)
(2024/06/18 12:12時点)
本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。
 
Users Voice
リーダブルコードは初心者向けですが、こちらは中級者~上級者向けです
かなり的を得た主張がされており、この本を読むとコードの書き方が根本から変わるような、そんなパワーがあります
Clean Architectureと合わせて読むと更に深い知見が得られると思います (参考:楽天)

↓全て表示 ↑少なく表示
 
   

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

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

(2024/06/18 12:03 更新)
Rank製品価格
1
Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ...
発売日 2015/09/24
Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘 (インプレス)
総合評価
(4.6)
4,180円
3,762円
4,180円
4,180円
2
4,840円
(+146pt)
4,356円
4,840円
3
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Martin Fowler 著 (オーム社)
総合評価
(4.6)
4,840円
(+146pt)
4,356円
4,840円
4,840円
4
Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)...
発売日 2017/12/28
Robert C.Martin, 花井 志生 (ドワンゴ)
総合評価
(4.6)
4,180円
(+126pt)
3,762円
4,180円
4,180円
5
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/06
MartinFowler (オーム社)
総合評価
(4.6)
4,840円
(+146pt)
4,356円
4,840円
 

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

Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ
(著)Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘
発売日 2015/09/24
総合評価
(4.6)
(2024/06/18 12:03時点)
開発経験に基づくパターン実践の極意!
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。

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

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

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

(引用元楽天Books)

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

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

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

(引用元楽天Books)

 
  

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

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

(引用元Amazon)

 
Users Voice
1版、Java版は蔵書としてあるのですが。所属している会社ではフロントエンド寄りの業務が多く、プログラムというとwebでJavaScriptのみ(たまにPHP)で完結することが多い環境にいる人です。

JSで1ファンクションが長くても100行、200行程度、ランディングページとかで継続的メンテナンスは求められない。
なのでどうしても「ベタ書き、とりあえず動けばいい、なるはやで」というコーディングが重宝される。
そんな環境です。(でした?かな。それだけではやっていけなくなっているので)

はい。”ブラックボックス”だらけです。大半のコードを書いた人たちはもう社内にいません、よくある話です。
・長大なファンクションを、入れ子ファンクションできりわける
・一時変数の特定、いらないやつは撲滅
・異常系の検出がおろそかだったので、オブジェクト自身に異常検出機能をつけてみた
などを、「夏休みの宿題・工作」みたいな感じでメンバといっしょに取り組んでいます。

本書について。
文章の言い回しは固くはないのですが、あつかっている処理ちょっと難しい話なので、誰でもがさらっとよめる本ではないようです。しかしサンプルがJavaScriptなので、とりあえず「記載されているコードの意味」はわかってもらえているようです。

最後に。
本書に盲従する必要はないとは思います。いろんなスタイルの一例です。
ただ、本書を通じることで、ある程度の共通認識を持ったうえで、コーディング職人の間での意見交換や価値観論争などは良いことかな、と思いました。

最後の最後に。
急激な変化を嫌う人もいるので、「押し売り」にならないように気を付けて。 (参考:楽天)

↓全て表示 ↑少なく表示
 
  

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

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

(引用元Amazon)

 
目次
リファクタリングー最初の例
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
実例を元にリファクタリング方法を解説してくれるので、似たような実装してるところをどう直せばわかりやすくなるか理解しやすくて実践にも使えそうな内容盛り沢山でした。 (参考:YahooShopping)

↓全て表示 ↑少なく表示
リファクタリングの勉強のため購入しました。サンプルコードはJavaScriptで記載されており、理解しやすい。 (参考:YahooShopping)

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

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

(引用元Amazon)

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

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

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

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

↓全て表示↑少なく表示

  

Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)

Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)
(著)Robert C.Martin, 花井 志生
発売日 2017/12/28
総合評価
(4.6)
(2024/06/18 12:12時点)
本書のケーススタディを注意深く読むことで、コードを洗練していく過程で行うべき判断について学ぶことができます。プログラムが動作したからといって、プログラミングが終わったことにはならないのです。
 
Users Voice
リーダブルコードは初心者向けですが、こちらは中級者~上級者向けです
かなり的を得た主張がされており、この本を読むとコードの書き方が根本から変わるような、そんなパワーがあります
Clean Architectureと合わせて読むと更に深い知見が得られると思います (参考:楽天)

↓全て表示 ↑少なく表示
 
  

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

リファクタリング 既存のコードを安全に改善する(第2版)
(著)MartinFowler
発売日 2019/12/06
総合評価
(4.6)
(2024/06/18 12:12時点)
※この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
1版、Java版は蔵書としてあるのですが。所属している会社ではフロントエンド寄りの業務が多く、プログラムというとwebでJavaScriptのみ(たまにPHP)で完結することが多い環境にいる人です。

JSで1ファンクションが長くても100行、200行程度、ランディングページとかで継続的メンテナンスは求められない。
なのでどうしても「ベタ書き、とりあえず動けばいい、なるはやで」というコーディングが重宝される。
そんな環境です。(でした?かな。それだけではやっていけなくなっているので)

はい。”ブラックボックス”だらけです。大半のコードを書いた人たちはもう社内にいません、よくある話です。
・長大なファンクションを、入れ子ファンクションできりわける
・一時変数の特定、いらないやつは撲滅
・異常系の検出がおろそかだったので、オブジェクト自身に異常検出機能をつけてみた
などを、「夏休みの宿題・工作」みたいな感じでメンバといっしょに取り組んでいます。

本書について。
文章の言い回しは固くはないのですが、あつかっている処理ちょっと難しい話なので、誰でもがさらっとよめる本ではないようです。しかしサンプルがJavaScriptなので、とりあえず「記載されているコードの意味」はわかってもらえているようです。

最後に。
本書に盲従する必要はないとは思います。いろんなスタイルの一例です。
ただ、本書を通じることで、ある程度の共通認識を持ったうえで、コーディング職人の間での意見交換や価値観論争などは良いことかな、と思いました。

最後の最後に。
急激な変化を嫌う人もいるので、「押し売り」にならないように気を付けて。 (参考:楽天)

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

(引用元Amazon)

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

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

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

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

↓全て表示↑少なく表示

   

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

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

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

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

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

(2024/06/18 12:12 更新)
 

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

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

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

(2024/06/18 12:03 更新)
製品価格
980円
470円
レガシーコードとどう付き合うか
発売日 2023/05/23
めもりー (シーアンドアール研究所)
総合評価
(3.4)
3,553円
(+107pt)
3,198円
3,198円
リーダブルコードC#: C#で読みやすいコードを書く50の方法
発売日 2022/06/03
ピーコックアンダーソン
Kindle Unlimited対象
総合評価
(4.4)
500円
3,278円
3,212円
3,278円
3,278円
2,948円
2,889円
2,948円
2,948円
3,370円
3,450円
(+104pt)
3,520円
3,520円
リファクタリング:Rubyエディション
発売日 2020/03/21
ジェイ・フィールズ, シェーン・ハービー, マーティン・ファウラー (復刊ドットコム)
総合評価
(4.7)
8,800円
(+264pt)
8,800円
8,800円
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/06
MartinFowler (オーム社)
総合評価
(4.6)
4,840円
(+146pt)
4,356円
4,840円
リファクタリング 既存のコードを安全に改善する(第2版)...
発売日 2019/12/01
Martin Fowler 著 (オーム社)
総合評価
(4.6)
4,840円
(+146pt)
4,356円
4,840円
4,840円
2,398円
(+144pt)
2,350円
2,398円
2,398円
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス...
発売日 2019/09/19
David Scott Bernstein (オライリージャパン)
総合評価
(4.2)
3,190円
3,190円
3,190円
1,200円
2,618円
2,566円
1,680円
2,308円
Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)...
発売日 2017/12/28
Robert C.Martin, 花井 志生 (ドワンゴ)
総合評価
(4.6)
4,180円
(+126pt)
3,762円
4,180円
4,180円
実戦で役立つ C#プログラミングのイディオム/定石&パターン...
発売日 2017/02/18
出井 秀行 (技術評論社)
総合評価
(4.2)
3,278円
(+197pt)
3,278円
3,278円
3,278円
Code Reading プレミアムブックス版 オープンソースから学ぶソフトウェア開発技法...
発売日 2016/08/26
Diomidis Spinellis (マイナビ出版)
総合評価
(4.6)
7,480円
6,732円
7,480円
4,450円
2,838円
2,838円
2,838円
2,838円
Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ...
発売日 2015/09/24
Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘 (インプレス)
総合評価
(4.6)
4,180円
3,762円
4,180円
4,180円
C#実践開発手法 (マイクロソフト公式解説書)
発売日 2015/06/04
Gary McLean Hall (日経BP)
総合評価
(4.1)
8,075円
5,500円
7,812円
 

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

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

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

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

 

いじょうでっす。

コメント

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