「レガシーコードからの脱却 ー ソフトウェアの寿命を延ばし価値を高める9つのプラクティス」
オライリー本。
レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
- 作者:David Scott Bernstein
- 発売日: 2019/09/19
- メディア: 単行本(ソフトカバー)
タイトルの時点でかなり興味深いのですが、翻訳者のひとり Ryuzee さんによりますと
著者が強調するのは、そのレガシーコードへの対応としていちばん大事なのは「最初からレガシーコードを作らない」という点です。 あとから品質を上げるのは、最初から品質を高く保つのに比べて何倍ものコストがかかるので、後からレガシーコードを直さなくて済むようにする。 そのためにどうすれば良いのかに紙面の多くを割いています。
何それめっちゃ気になる。つまり「レガシーコードを修正する本」ではないと。いかにして「レガシーコードを作らないようにするか」って話だと。ということで読みました。
アジャイルの本でしたね
前半は、なぜレガシーコードが生み出されるのか、という観点。
いわゆるウォーターフォール的なやり方だと、途中変更のたびにレガシー感が増えてくるよね、アジャイルな考えでやっていかないとね、という感じ。最初に目次を見た段階では、ここまでアジャイル推しな内容になってるとは思わなかったなー
そういえばこの本、序文をウォード・カニンガムが書いてるんですよね。Wiki の生みの親。アジャイル・マニフェストの17人のメンバーのうちの一人。
なるほどなるほど。
9つのプラクティスは納得感が高い
で、実際のプラクティスの部分も。読んでいて、まあそりゃそうだよな、という納得感が非常に高い。感覚としてなんとなく分かってた、という話がきれいに言語化されている感じ。
- やり方より先に目的、理由、誰のためかを伝える
- 小さなバッチで作る
- 継続的に統合する
- 協力しあう
- 「CLEAN」コードを作る
- まずテストを書く
- テストでふるまいを明示する
- 設計は最後に行う
- レガシーコードをリファクタリングする
めちゃくちゃ目新しい話はないです。他の書籍でも見るようなプラクティスが上手くまとまっている。ただ、それらを丁寧に実践することはラクなことではないし、実践されているであろうからこその、納得感の高い言語化。
ええ本でした。