Re-engineering Legacy Software

クリスさんがManningで執筆された書籍です。少し前に購入していたのですが、きちんと読めていなかったので英語の本を読む練習を兼ねて読み直してみました。

Re-engineering Legacy Software

Re-engineering Legacy Software

レガシーコードをいかに改善するかという、クリスさんの経験に基づく(?)現場感溢れる内容で、読んでいると勇気を与えられる反面、こちらの心まで痛くなってくる部分が多々ありますw

もちろん全てのシチュエーションに当てはまるものでもないとは思いますが、リファクタリングの価値を説明する際のテクニックや、リファクタリングするかリライトするかの判断基準や実際の進め方、モノリシックなアプリケーションを分割する際のパターンやメリット・デメリットなど、頭ではなんとなくわかってはいるのだけど自分の中できちんと説明できる言葉を持っていなかった部分が言語化されており、今後の判断や説明の際に1つの拠り所になるのではないかと感じました。

コードは書いた瞬間からレガシーになるとも言われますが、そう考えると多くのソフトウェアエンジニアにとって、程度の差こそあれ日常的な業務の大部分はレガシーコードとの戦いということになるのではないでしょうか。レガシーコードと戦っているソフトウェアエンジニアの皆さんには是非読んでみていただきたいです。英語も非常に読みやすいですし、何より書かれてある内容が「あるある」だったり、「なるほど」と思うことばかりで飽きずに読み進めることができました。

ちなみに日本語版も出ています。原著も読みやすいとはいえ、コード主体の技術書と違って摘み読みしづらいということもありますし、やはり英語だとどうしても読むのに時間がかかってしまうのではないかと思います。せっかく日本語版が出ていますので、時間のない方はこちらがオススメです。

レガシーソフトウェア改善ガイド

レガシーソフトウェア改善ガイド