【脱却しよう】レガシーコード改善ガイド【要約・感想・まとめ】

書籍情報
メルカリでの検索結果はこちら
著者について
フェザーズ,マイケル・C.
Object Mentor社勤務。現在、TDD(テスト駆動開発)、リファクタリング、オブジェクト指向設計、Java、C#、C++、XP(エクストリームプログラミング)に関するトレーニングやメンタリングを世界レベルで実践している。またCppUnit(JUnitをC++に移植したテスティングフレームワーク)、およびFitCPP(FITをC++に移植した統合テスティングフレームワーク)のオリジナル開発者でもある。ACMおよびIEEE会員
平澤 章
ウルシステムズ株式会社ディレクター。金融機関向け第3次オンラインシステムなどのシステム開発業務や技術コンサルティング業務に従事した後、2001年より現職
引用元:Amazon
書評
どんな本?
本書は昔に実装され手がつけられなくなってしまったレガシーコードの改善方法をケース別に教えてくれる本です。
またどのようなコードがレガシーコードと定義されるのかも解説しています。
読んだきっかけ
rubyリリースマネージャーのyuguiさんとQAエンジニアのoota_kenさんが選出しておりレガシーコードを改善する手法を学びたいと思ったことがきっかけです!
要約
- レガシーコードとはテストコードのないプログラムのことである
- 新開発でも適切な開発手法を取らなければレガシーシステムになる。新規開発の芝は青くない。
良かった点・悪かった点
感想・まとめ
本書ではレガシーコードの定義とその改善方法について解説をしています。
私自身業務でレガシーコードに携わっていたため、それを改善する手法があるならば、ぜひ学びたいと思いを手に取りました。 まずレガシーコードの定義ですが、私の中では単純に古い技術を使って構成されているシステムのことを指していると考えていました。しかし、本書では最も具体的にテストコードのないプログラムであると定義していました。
本書ではレガシーコードの脱却手段として、テスト駆動開発を最大限活用しているように思いました。そのためには何をすればいいのか 具体的なファクタリングの手法や依存性の排除の方法についてコードを用いて例を挙げながら解説していました。
また新規開発の芝は青くないという言葉も私には刺さりました。新規開発であるから開発が楽なのではなく、テストコードをきちんと書いて管理しているからこそ楽になるのだと理解しました。なので新規開発に携わる際には必ずテストコードを書くことで、レガシーコードの発生を防ぎ将来の開発・運用コストを低減できるようなコードを書きたいと考えました。
こんな人におすすめ!
総評
レガシーコードの改善方法について教えてくれる本
自分自身がレガシーコードに携わっているため、非常に参考になりました
気になったらぜひ読んでみてね😆