技術書

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

記事内に商品プロモーションを含む場合があります

書籍情報

メルカリでの検索結果はこちら

書名:レガシーコード改善ガイド: 保守開発のためのリファクタリング

著者名:マイケル C.フェザーズ (著), 平澤 章 (翻訳)

出版社:翔泳社

著者について

フェザーズ,マイケル・C.

Object Mentor社勤務。現在、TDD(テスト駆動開発)、リファクタリング、オブジェクト指向設計、Java、C#、C++、XP(エクストリームプログラミング)に関するトレーニングやメンタリングを世界レベルで実践している。またCppUnit(JUnitをC++に移植したテスティングフレームワーク)、およびFitCPP(FITをC++に移植した統合テスティングフレームワーク)のオリジナル開発者でもある。ACMおよびIEEE会員

平澤 章

ウルシステムズ株式会社ディレクター。金融機関向け第3次オンラインシステムなどのシステム開発業務や技術コンサルティング業務に従事した後、2001年より現職

引用元:Amazon

書評

どんな本?

本書は昔に実装され手がつけられなくなってしまったレガシーコードの改善方法をケース別に教えてくれる本です。

またどのようなコードがレガシーコードと定義されるのかも解説しています。

読んだきっかけ

ちゅけ

100人のプロが選んだソフトウェア開発の名著に記載があった本

rubyリリースマネージャーのyuguiさんとQAエンジニアのoota_kenさんが選出しておりレガシーコードを改善する手法を学びたいと思ったことがきっかけです!

要約

  1. レガシーコードとはテストコードのないプログラムのことである
  2. 新開発でも適切な開発手法を取らなければレガシーシステムになる。新規開発の芝は青くない

良かった点・悪かった点

  • レガシーコードの定義を知ることができる
  • レガシーコードの具体的な改善方法をケース別に学ぶことができる
  • 困りことについて質問する形式で章が裂かれているので非常に実践的である
  • 説明に用いられている言語がC++とjavaなので、馴染みがない人には読みづらい
  • 予備知識としてテスト駆動開発の理解が求められる

感想・まとめ

本書ではレガシーコードの定義とその改善方法について解説をしています。

私自身業務でレガシーコードに携わっていたため、それを改善する手法があるならば、ぜひ学びたいと思いを手に取りました。 まずレガシーコードの定義ですが、私の中では単純に古い技術を使って構成されているシステムのことを指していると考えていました。しかし、本書では最も具体的にテストコードのないプログラムであると定義していました。

本書ではレガシーコードの脱却手段として、テスト駆動開発を最大限活用しているように思いました。そのためには何をすればいいのか 具体的なファクタリングの手法や依存性の排除の方法についてコードを用いて例を挙げながら解説していました。

また新規開発の芝は青くないという言葉も私には刺さりました。新規開発であるから開発が楽なのではなく、テストコードをきちんと書いて管理しているからこそ楽になるのだと理解しました。なので新規開発に携わる際には必ずテストコードを書くことで、レガシーコードの発生を防ぎ将来の開発・運用コストを低減できるようなコードを書きたいと考えました。

こんな人におすすめ!

  • レガシーコードの開発に携わっている人
  • レガシーコードの定義を知りたい人

総評

個人的評価

ちゅけ

レガシーコードの改善方法について教えてくれる本

自分自身がレガシーコードに携わっているため、非常に参考になりました

気になったらぜひ読んでみてね😆