コードには守るべき原則やアンチパターンなどがあります。それらを認識した上でプログラムを書くことで、保守性、再利用性、可読性などが高く運用しやすいコードとすることができます。
長く使えるコード、未来の自分やチームメンバーにとっても良いコード、を書けるよう、リファクタリング、コーディング作法を身に着けましょう。
こちらでは、リファクタリング、コーディング技術に関する書籍を人気とともに紹介していきます。
発売したて・発売予定の新書をピックアップ
技術書は情報の鮮度も重要、人気ランキングの前に新しい書籍もチェックしておきましょう。
- 2022/04/19発売 「プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで Software Design plus」
- 2022/06/03発売 「リーダブルコードC#: C#で読みやすいコードを書く50の方法」
- 2023/05/23発売 「レガシーコードとどう付き合うか」
- 2023/07/07発売 「Pythonでのリファクタリングの効果的な方法は何ですか?(Pythonのお悩み解決のヒント)」
- 2023/08/23発売 「4. Scala(スカラ)で学ぶ関数型デザインパターン: リファクタリングの美学: 柔軟なコード構築を目指して」
リファクタリング・コーディング技術の参考書「最新の人気ランキング 20冊」
今人気の「リファクタリング・コーディング技術の参考書」をランキングで一覧したのが以下です。
Rank | 製品 | 価格 |
---|---|---|
1 | リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)... 発売日 2012/06/23 Dustin Boswell, Trevor Foucher (オライリージャパン) 総合評価 | |
2 | ||
3 | プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで Software Design plus... 発売日 2022/04/19 鈴木 僚太 (技術評論社) 総合評価 | |
4 | ||
5 | ||
6 | ||
7 | ||
8 | ||
9 | ||
10 | ||
11 | ||
12 | ||
13 | Ruby on Rails 6 実践ガイド[機能拡張編] impress top gearシリーズ... 発売日 2020/05/22 黒田 努 (インプレス) Kindle Unlimited対象 総合評価 | |
14 | Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ... 発売日 2015/09/24 Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘 (インプレス) 総合評価 | |
15 | ||
16 | ||
17 | モダンC言語プログラミング 統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグ... 発売日 2019/01/31 花井 志生 (KADOKAWA) 総合評価 | |
18 | ||
19 | ||
20 |
以降でおすすめ・注目の本をピックアップしていきます。
Kindle版のある本なら試し読みも可能。大概目次まで見れるので、概要もつかめるので、サンプル試読がおすすめです。
リファクタリング・コーディング技術の本 人気ランキング/5冊詳細
以下が「リファクタリング・コーディング技術の本」人気ランキングと人気の5冊詳細です。
ランキングはAmazonの書籍売上ランキングに基づき毎日更新されています。
Rank | 製品 | 価格 |
---|---|---|
1 | リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)... 発売日 2012/06/23 Dustin Boswell, Trevor Foucher (オライリージャパン) 総合評価 | |
2 | ||
3 | プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで Software Design plus... 発売日 2022/04/19 鈴木 僚太 (技術評論社) 総合評価 | |
4 | ||
5 |
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
(著)Dustin Boswell, Trevor Foucher
発売日 2012/06/23
自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ」(本書「はじめに」より)。
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。
名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。
またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。
日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
内容サンプル
目次
第1部 表面上の改善(名前に情報を詰め込む
誤解されない名前
美しさ
コメントすべきことを知る
コメントは正確で簡潔に)
第2部 ループとロジックの単純化(制御フローを読みやすくする
巨大な式を分割する
変数と読みやすさ)
第3部 コードの再構成(無関係の下位問題を抽出する
一度に1つのことを
コードに思いを込める
短いコードを書く)
第4部 選抜テーマ(テストと読みやすさ
「分
時間カウンタ」を設計・実装する)
付録 あわせて読みたい
↓全て表示↑少なく表示
Users Voice
内容サンプル
著者略歴
カリフォルニア工科大学で理学士号を取得。その後、カリフォルニア大学サンディエゴ校で修士号を取得。Google社で5年間勤務し、ウェブクローリング用のインフラなどさまざまなプロジェクトに携わる
フォシェ,トレバー(Foucher,Trevor)
10年以上もの間、Microsoft社でWindows2000やOneCare、Google社でWeb master Toolsなどのソフトウェアプロジェクトを送り出してきた。現在は独立コントリビュータ・マネージャ・テクニカルリードである
角征典(カドマサノリ)
1978年山口県生まれのプログラマ(本データはこの書籍が刊行された当時に掲載されていたものです)
↓全て表示↑少なく表示
エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング
「コミュニケーションにおける不確実性を減らすには?」
「技術的負債を解消する方法とは?」
「経営陣とエンジニア間の認識のずれを解消するには?」
エンジニアリングにおける課題を解決する思考の整理方法やメンタリング手法を、
さまざまな企業の技術組織アドバイザリーを務めている著者が解説。
若手を戦力として育て上げ、成長する組織を設計・運営するためにおすすめの1冊です。
内容サンプル
目次
不確実性とエンジニアリング ほか)
2 メンタリングの技術(メンタリングで相手の思考をリファクタリング
傾聴・可視化・リフレーミング ほか)
3 アジャイルなチームの原理(アジャイルはチームをメンタリングする技術
アジャイルの歴史 ほか)
4 学習するチームと不確実性マネジメント(いかにして不確実性を管理するか
スケジュール予測と不確実性 ほか)
5 技術組織の力学とアーキテクチャ(何が技術組織の“生産性”を下げるのか
権限委譲とアカウンタビリティ ほか)
↓全て表示↑少なく表示
Users Voice
内容サンプル
著者略歴
株式会社レクター取締役。1983年生まれ。筑波大学大学院を卒業後、2008年に新卒第1期として株式会社ミクシィに入社。同社のアーキテクトとして、技術戦略から組織構築などに携わる。同社メディア開発部長、開発部部長、サービス本部長執行役員を務めた後、2015年退社。株式会社レクターを創業し、技術と経営をつなぐ技術組織のアドバイザリーとして、多数の会社の経営支援を行っている(本データはこの書籍が刊行された当時に掲載されていたものです)
↓全て表示↑少なく表示
プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで Software Desi...
(著)鈴木 僚太
発売日 2022/04/19
(概要)
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 チェックの厳しさに関わるオプション
↓全て表示↑少なく表示
内容サンプル
目次
第2章 基本的な文法・基本的な型
第3章 オブジェクトの基本とオブジェクトの型
第4章 TypeScritpの関数
第5章 TypeScriptのクラス
第6章 高度な型
第7章 TypeScriptのモジュールシステム
第8章 非同期処理
第9章 TypeScriptのコンパイラオプション
付録
↓全て表示↑少なく表示
Users Voice
内容サンプル
著者略歴
2013年からTypeScriptを使用中。LINE株式会社でフロントエンドエンジニアとして自社開発に従事しながら、技術顧問なども行っている(『プロを目指す人のためのTypeScript入門ー安全なコードの書き方から高度な型の使い方まで』発行当時)。専門はTypeScriptとReactで、講演やインターネット上での記事公開を通じて初心者向けから上級者向けまでさまざまな情報を発信している。OSS活動にも積極的だが自作のライブラリはあまり流行っていない(本データはこの書籍が刊行された当時に掲載されていたものです)
↓全て表示↑少なく表示
発売日 2022/04/19
Java言語で学ぶリファクタリング入門
※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。
どうすれば、きれいで読みやすいコードになるのか? 『Java言語で学ぶデザインパターン入門』の結城浩が、リファクタリングの本質と手順をやさしく解説。Javaによる実例満載したリファクタリング入門書の決定版。
●目次
第0章 リファクタリングとは
リファクタリングと「不吉な匂い」
リファクタリング・カタログ
リファクタリングのエッセンス
リファクタリングQ&A
(第1章~第4章では、コードを整える小規模のリファクタリングを学びます)
第1章《シンボリック定数によるマジックナンバーの置き換え》
第2章《制御フラグの削除》
第3章《アサーションの導入(表明の導入)》
第4章《ヌルオブジェクトの導入》
(第5章~第10章では、クラスを整える中規模のリファクタリングを学びます)
第5章《メソッドの抽出》
第6章《クラスの抽出》
第7章《クラスによるタイプコードの置き換え》
第8章《サブクラスによるタイプコードの置き換え》
第9章《State/Strategyによるタイプコードの置き換え》
第10章《例外によるエラーコードの置き換え》
(第11章~第15章では、クラスの関係を整える大規模のリファクタリングを学びます)
第11章《Factory Methodによるコンストラクタの置き換え》
第12章《観察されるデータの複製》
第13章《委譲による継承の置き換え》
第14章《委譲の隠蔽》
第15章《継承の分割》
固定レイアウト型に関する注意事項(必ずお読みください)
この電子書籍は、全ページ画像の「固定レイアウト型」で配信されております。以下の点にご注意し、購入前にプレビュー表示をご確認の上、ご購入ください。
■使用できない機能
・文字拡大(ピンチイン・ピンチアウトは可能ですが、画面におさまらない場合は画面をスワイプ)/文字のコピー/マーク/ハイライト/文字列検索/辞書の参照/Web検索/引用
■推奨環境
・タブレットなど大きいディスプレイを備えた端末
・Wi-Fiネットワーク経由でのダウンロード(Kindle端末の場合)
↓全て表示↑少なく表示
内容サンプル
Users Voice
内容サンプル
Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)
(著)Robert C.Martin, 花井 志生
発売日 2017/12/28
Users Voice
 
リファクタリング・コーディング技術の本 最新・高評価のおすすめの5冊
以下が「リファクタリング・コーディング技術の本」最新・高評価のおすすめの5冊詳細です。
Rank | 製品 | 価格 |
---|---|---|
1 | Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ... 発売日 2015/09/24 Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘 (インプレス) 総合評価 | |
2 | ||
3 | ||
4 | ||
5 |
Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gear...
(著)Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘
発売日 2015/09/24
パターン誕生の背景/エッセンス/適用条件/サンプルを解説。
ゲームプログラミングを含むソフトウェア開発の現場で、デザインパターンをより的確に利用するための解説書。著者は、米国大手ゲーム会社エレクトロニック・アーツでゲーム開発に従事。その経験に基づき、GoFや著者独自のパターンについて考察。より容易に変更できる洗練されたアーキテクチャ、ゲームに求められる実行速度といった視点を重視しつつ、幅広く応用できるパターンやゲーム必須のパターンを取り上げています。本書は、『Game Programming Patterns』の翻訳書です。米国アマゾンで60以上のレビューを集め、その9割が星5つと評価されています(2015年8月)。
【以下、本書イントロダクションより抜粋】
私がこの本で提供したいのは、解決策のメニューのようなものです。この本の各々の章では、単独でコードに適応可能なアイデアを解説しています。役立つものをメニューから選んで組み合わせることができます。
↓全て表示↑少なく表示
内容サンプル
Users Voice
内容サンプル
リファクタリング(第2版): 既存のコードを安全に改善する (OBJECT TECHNOLOGY SERIES)
(著)Martin Fowler 著
発売日 2019/12/01
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。
内容サンプル
Users Voice
リファクタリング 既存のコードを安全に改善する(第2版)
リファクタリングは、ソフトウェアの外部的な振る舞いを保ったままで、内部の構造を改善する作業を指します。本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。
本第2版では、約20年前のオリジナル原稿の構成は変わらないものの、大幅に書き換えられているほか、サンプルコードがJavaからJava Scriptになるなど、現代的にアレンジされています。
内容サンプル
目次
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
内容サンプル
著者略歴
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査
友野晶夫(トモノマサオ)
フリーランスプログラマー
平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る
梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)
↓全て表示↑少なく表示
Clean Code アジャイルソフトウェア達人の技 (アスキードワンゴ)
(著)Robert C.Martin, 花井 志生
発売日 2017/12/28
Users Voice
リファクタリング 既存のコードを安全に改善する(第2版)
※プリント・レプリカ形式は見開き表示ができません。
※この電子書籍は紙版書籍のページデザインで制作した固定レイアウトです。
ソフトウェア開発の名著、第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 継承の取り扱い
文献リスト
訳者あとがき
索引
↓全て表示↑少なく表示
内容サンプル
目次
リファクタリングの原則
コードの不吉な臭い
テストの構築
カタログの紹介
リファクタリングはじめの一歩
カプセル化
特性の移動
データの再編成
条件記述の単純化
APIのリファクタリング
継承の取り扱い
Users Voice
内容サンプル
著者略歴
(株)情報システム総研代表取締役社長。技術士(情報工学)、博士(情報学)。情報処理学会情報システムと社会環境研究会主査
友野晶夫(トモノマサオ)
フリーランスプログラマー
平澤章(ヒラサワアキラ)
ウルシステムズ株式会社所属。メインフレームからオープンシステム、マイコンまで多種多様なシステム開発を経験した後、2001年にウルシステムズのスタートアップに参画し、現在に至る
梅澤真史(ウメザワマサシ)
Smalltalkエバンジェリスト。2003年度IPA未踏ソフトウェア創造事業スーパークリエータ。(株)オージス総研、(株)豆蔵にてオブジェクト指向関連のコンサルティング、開発業務に従事した後、合同会社ソフトウメヤを立ち上げ現在に至る。SORABITO株式会社の技術フェローも兼任(本データはこの書籍が刊行された当時に掲載されていたものです)
↓全て表示↑少なく表示
 
リファクタリング・コーディング技術の本「Kindle Unlimited 読み放題 人気本ランキング」
「Kindle Unlimited」は、Amazonの定額本読み放題サービス。
最近はKindle Unlimitedで読める本もどんどん増えており、雑誌、ビジネス書、実用書などは充実のラインナップ。
以下がKindle Unlimitedで読み放題となるリファクタリング・コーディング技術の本の一覧です。
30日無料体験も可能なので、読みたい本があれば体験期間で無料で読むことも可能です。
Rank | 製品 | 価格 |
---|---|---|
1 | 1,200円 | |
2 | 500円 | |
3 | 400円 | |
4 | Ruby on Rails 6 実践ガイド[機能拡張編] impress top gearシリーズ... 発売日 2020/05/22 黒田 努 (インプレス) Kindle Unlimited対象 総合評価 | |
5 | 470円 |
リファクタリング本「新書一覧(2021年、2022年刊行)」
IT技術・プログラミング言語は、最新情報のキャッチアップも非常に重要、すなわち新書は要チェック。
ということで、2020年以降に発売したリファクタリング本の新書一覧(発売日の新しい順)が以下です。
製品 | 価格 |
---|---|
980円 | |
470円 | |
500円 | |
プロを目指す人のためのTypeScript入門 安全なコードの書き方から高度な型の使い方まで Software Design plus... 発売日 2022/04/19 鈴木 僚太 (技術評論社) 総合評価 | |
Ruby on Rails 6 実践ガイド[機能拡張編] impress top gearシリーズ... 発売日 2020/05/22 黒田 努 (インプレス) Kindle Unlimited対象 総合評価 | |
モダンC言語プログラミング 統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグ... 発売日 2019/01/31 花井 志生 (KADOKAWA) 総合評価 | |
1,200円 | |
Game Programming Patterns ソフトウェア開発の問題解決メニュー impress top gearシリーズ... 発売日 2015/09/24 Robert Nystrom, 武舎広幸, 阿部和也, 上西昌弘 (インプレス) 総合評価 |
関連:オブジェクト指向プログラミング・デザインパターンを学ぶ
コードの品質を上げるリファクタリング知識とともに重要なのが、プログラム設計に関する知識です。
安全・堅牢・再利用性の高い設計ができることで、プログラムの保守や拡張性高く運用していくことが可能。
以下では、設計の重要な要素となる「オブジェクト指向プログラミング(OOP)」「デザインパターン」に関する書籍を紹介しています、合わせてのぞいて見てください。
いじょうでっす。
コメント