コードがレガシーになるのはなぜでしょう。その要因を特定し、
コードベースの品質を上げるためには、なにをすればいいのでしょう。
本書はこれらの古くて新しい質問に真摯に答えてくれるでしょう。
単純な(でも難解な)クラスやメソッドレベルのリファクタリングから、
モジュールあるいはコンポーネント全体を視野に入れた、広い範囲のリファクタリング。
また、最終手段としてのリライトに関するノウハウ(機能低下の予防方法や回避方法、
各種データのスムーズな移行など)を示します。
また、単に手を動かすだけではなく、いつもソフトウェアをフレッシュにしておくべく、
自動化のための方法論や、そのインフラストラクチャの作り方を詳解します。
「動いているものは触るな」が鉄則のソフトウェアを、それでも要請に応じて
よりレスポンシビリティの高い、そして新機能を盛り込まれた、
メンテナンスしやすいソフトウェアへと進化させるためのノウハウを学んでください。
【目次】
第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章:レガシーコードを書くのはやめよう!
fujitom さん
2019-02-25
検証リファクタリング、リアーキテクチャ・環境構築の自動化。良い点はvagrant ansibleについて書かれていた点。意外に本とかが少ないので助かる。 関心の分離には1年半くらい前から取り組んでいるので、今後も続けるし、ユニットテストは書き始めてるので、別のテストも増やしていく方向でやっていく。
Luo Yang さん
2017-05-27
外部的には価値のある、しかし内部的にはやや古くなってしまった(まさにレガシー)ソフトウェアを開発する身として、これから先もソフトウェアの価値を保ち続けるための作戦の立案に、大いに参考になる本です。机上の空論に陥ることなく(コードも随所に出てきます)、要点をおさえて簡潔に、作戦レベルの話をしてくれた著者に感謝します。
mft さん
2017-07-21
仕事に活かしていきたい