レガシーソフトウェア改善ガイド(レガシーソフトウェアカイゼンガイド)
- 著者:
- クリス・バーチャル/吉川 邦夫(クリス・バーチャル/ヨシカワ クニオ)
- 出版社:
- 翔泳社
- 出版日:
- 2016年11月10日頃
- ISBN:
- 9784798145143
- シリーズ:
- Object Oriented SELECTION
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
単なる延命策ではない、進化させるという発想!
コードがレガシーになるのはなぜでしょう。その要因を特定し、
コードベースの品質を上げるためには、なにをすればいいのでしょう。
本書はこれらの古くて新しい質問に真摯に答えてくれるでしょう。
単純な (でも難解な) クラスやメソッドレベルのリファクタリングから、
モジュールあるいはコンポーネント全体を視野に入れた、広い範囲のリファクタリング。
また、最終手段としてのリライトに関するノウハウ (機能低下の予防方法や回避方法、
各種データのスムーズな移行など) を示します。
また、単に手を動かすだけではなく、いつもソフトウェアをフレッシュにしておくべく、
自動化のための方法論や、そのインフラストラクチャの作り方を詳解します。
「動いているものは触るな」が鉄則のソフトウェアを、それでも要請に応じて
よりレスポンシビリティの高い、そして新機能を盛り込まれた、
メンテナンスしやすいソフトウェアへと進化させるためのノウハウを学んでください。
【目次】
第 1 部:はじめに
第 1 章:レガシープロジェクトの難題を理解する
第 2 章:スタート地点を見つける
第 2 部コードベース改良のためのリファクタリング
第 3 章:リファクタリングの準備
第 4 章:リファクタリング
第 5 章:リアーキテクティング
第 6 章:ビッグ・リライト
第 3 部リファクタリングの先へー プロジェクトのワークフローと基盤を改善する
第 7 章:開発環境を自動化する
第 8 章:テスト、ステージング、製品環境の自動化
第 9 章:レガシーソフトウェアの開発/ビルド/デプロイを刷新する
第 10 章:レガシーコードを書くのはやめよう!
第 1 部:はじめに
第 1 章:レガシープロジェクトの難題を理解する
第 2 章:スタート地点を見つける
第 2 部コードベース改良のためのリファクタリング
第 3 章:リファクタリングの準備
第 4 章:リファクタリング
第 5 章:リアーキテクティング
第 6 章:ビッグ・リライト
第 3 部リファクタリングの先へー プロジェクトのワークフローと基盤を改善する
第 7 章:開発環境を自動化する
第 8 章:テスト、ステージング、製品環境の自動化
第 9 章:レガシーソフトウェアの開発/ビルド/デプロイを刷新する
第 10 章:レガシーコードを書くのはやめよう!
技書の森解説
テストがない、ドキュメントもない、書いた人はもういない。そんなコードベースを引き継いだとき、全部書き直したい衝動に駆られるのは自然なことですが、多くの場合それは現実的ではありません。本書は Chris Birchall の "Re-Engineering Legacy Software" の翻訳で、レガシーソフトウェアを段階的に改善していくための具体的な戦略を、リファクタリング、品質メトリクス、 CI/CD 、インフラ自動化、チーム文化まで幅広くカバーしています。
特徴的なのは「書き直すか、リファクタリングするか」という判断をどう下すかに章を割いている点です。ビッグリライトが成功する条件と失敗するパターンを整理したうえで、段階的なリファクタリングの進め方を示しており、現場での意思決定に直結する内容です。 Michael Feathers の『レガシーコード改善ガイド』がコードレベルの手技に特化しているのに対し、本書はプロジェクト運営やワークフローの改善まで視野を広げており、開発リーダーやアーキテクトの視座で読むと得るものが大きいでしょう。
言語固有の知識を前提としない構成なので、 Java でも Python でもどの環境でも適用できる汎用性があります。「レガシーを生み出さない開発習慣」にも紙幅を割いており、新規開発を始める際にも参考になる視点を提供してくれます。
言及 Qiita 記事 (14 件)
【Webエンジニアど素人から3年生ぐらいになるまでに読むと良い本】を段階的にまとめた
♡ 2567初心者, まとめ, 技術書, 勉強, 新人プログラマ応援「レガシーコード改善ガイド」を読んだので、その要点
♡ 77プログラミング, リファクタリング, レガシーコード改善ガイド, レガシーコード, コーディングレガシーユーザーインターフェースにありがちな3つの病と治療法
♡ 76ユーザーインターフェース【2019年】金融系SIerに8年勤めて最近Web企業に転職したインフラエンジニアのメモ★1年経過
♡ 62Python, Mac, Git, Slack, BigQuery食べログアプリでの技術的負債との向き合い方
♡ 60Android, 技術的負債, レガシーコード, 食べログ, AdventCalendar2021リファクタか、リライトか。それをどう判断するのか。 (レガシーソフトウェア改善ガイド)
♡ 15リファクタリング, 設計, プロジェクト管理, 新人プログラマ応援ローカル開発環境自動化のススメ
♡ 14Docker, 自動化読書感想文「レガシーソフトウェア改善ガイド」
♡ 10読書感想文, レガシーコード, レガシーシステム, 保守文系出身新卒1年目のエンジニアがDevelopper Boostに参加したお話
♡ 5キャリア, イベントレポートリファクタリングにおける「マクベス症候群」を予防する
♡ 3リファクタリング
この本に興味がある方におすすめ
この本に関連
関連記事
リーダブルコードの次に読む本 - ステップアップの読書ルート
リーダブルコードを読み終えた後、設計力を段階的に高めるための読書ルートと、各レベルで学ぶべきテーマを紹介します。
コードレビューが上手い人は何を読んでいるのか
的確なコードレビューができる人は、共通して特定のジャンルの本を読んでいます。レビュー力を支える読書の傾向と、レビューに直結する知識の身につけ方を解説します。
あの有名 OSS のコードは、この本の影響を受けている
広く使われているオープンソースソフトウェアの設計には、特定の技術書の影響が色濃く反映されています。OSS のコードと技術書の関係を知ると、両方の理解が深まります。