リファクタリング (第 2 版)(リファクタリングダイニハン)
既存のコードを安全に改善する
- 著者:
- Martin Fowler 著/児玉 公信/友野 晶夫/平澤 章/梅澤 真史(マーチン ファウラー/コダマ キミノブ/トモノ マサオ/ヒラサワ アキラ/ウメザワ マサシ)
- 出版社:
- オーム社
- 出版日:
- 2019年12月01日頃
- ISBN:
- 9784274224546
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技書の森解説
動いているコードを壊さずに内部構造を改善する技術を「リファクタリング」として名付け、体系化した古典的名著の第 2 版です。初版が 1999 年に Java で書かれたのに対し、第 2 版ではサンプルコードが JavaScript に変更され、クラスに依存しない関数型のリファクタリング手法も加わっています。言語が変わっても核心は同じで、「外部から見た振る舞いを変えずに、コードの設計を小さなステップで良くしていく」規律を 70 以上の手法にカタログ化しています。
本書が長く読み継がれる理由は、各手法に「動機」と「手順 (メカニクス) 」がセットで書かれている点です。「なぜこの変更をするのか」を理解した上で「どういう順番で安全に変えるか」まで追えるため、単なるコード整形ではなく設計判断としてのリファクタリングが身につきます。テストを書いてから構造を変え、一歩ずつ確認しながら進む規律は、レガシーコードと向き合うすべてのチームの共通言語になり得ます。
プログラミング経験が 1 年以上あり、自分の書いたコードに「動くけれど読みにくい」と感じ始めた段階で手に取ると効果が大きい一冊です。 JavaScript に不慣れでもパターンの本質は言語非依存のため、普段使う言語に読み替えながら十分に吸収できます。
言及 Qiita 記事 (11 件)
【読書の夏?】各分野のおすすめ技術書を75冊まとめてみた
♡ 114AWS, Security, 初心者, 技術書, AI1年間続けた勉強会の成果と失敗
♡ 80勉強会, 初心者, ポエム, 新人プログラマ応援, 新人プログラマ応援_記事投稿キャンペーンリファクタリングを推進しよう! 〜既存コードを安全に改善する技術〜
♡ 3リファクタリング非メンバ非フレンド関数をつかって結合度を削減しよう
♡ 3C++AIと対話して「技術者の自分」を再定義した話 〜不具合(Bug)だと思っていたものは、生存戦略(Spec)だった〜
♡ 1AIソフトウェア設計の本質: 5冊の名著から学ぶ「変更容易性(ETC原則)」
♡ 1オブジェクト指向, 設計, 技術書, アーキテクチャ入社1~2年目で読んだ技術書まとめ
♡ 1本, 技術書, 初心者エンジニア, 思考法2024-11-11 共有記事ログ
♡ 1メモ【書評】新装版 リファクタリング―既存のコードを安全に改善する
♡ 0オブジェクト指向, リファクタリング, 設計, アーキテクチャ, 書評組込み系システムエンジニアのためのステートパターン紹介(C++)
♡ 0C++, デザインパターン, 状態遷移, ステートパターン, 組込み系
この本に興味がある方におすすめ
この本に関連
関連記事
リーダブルコードの次に読む本 - ステップアップの読書ルート
リーダブルコードを読み終えた後、設計力を段階的に高めるための読書ルートと、各レベルで学ぶべきテーマを紹介します。
あの有名 OSS のコードは、この本の影響を受けている
広く使われているオープンソースソフトウェアの設計には、特定の技術書の影響が色濃く反映されています。OSS のコードと技術書の関係を知ると、両方の理解が深まります。
コードレビューが上手い人は何を読んでいるのか
的確なコードレビューができる人は、共通して特定のジャンルの本を読んでいます。レビュー力を支える読書の傾向と、レビューに直結する知識の身につけ方を解説します。