今日はなにの日。

気になったこと勉強になったことのメモ。

今日は、レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティスを読んだの日。

目次

購入動機

コードを書くときの考え方の知識を得たから。

出版社

**** オライリージャパン

発売日

(2019/9/19)

言語

日本語

単行本

  • 300ページ
  • ¥3,190

内容

レガシーコードとは、バグを多く含み、壊れやすく拡張が難しいコードを指します。このようなコードの保守と管理には多大な労力がつぎ込まれることになります。しかも一度作ってしまったレガシーコードの質を上げるには、初めから質の高いコードを作るよりも膨大なコストがかかります。本書では、ソフトウェア開発において、初めからレガシーコードを作りださないためのプラクティスを9つ挙げて解説します。プロダクトオーナーは目的を語り、やり方は開発者に任せること、小さなバッチで開発を進めること、継続的に統合すること、チームメンバーで協力することなど、日々の開発に取り入れる考え方と具体的な実践について各章で分かりやすく解説します。信頼性や拡張性が高いソフトウェアをリリースしたい開発者、運用管理者、マネージャに必携の一冊です。

具体的にコードを書くときにこうしましょうとかのリーダブルコードみたいな内容ではなく、マインド的なないようだったりコードを書く環境について触れている。

アジャイル開発やペアプロドメイン駆動設計、CI/CDなどを使ってよりよくコードを書く環境をつくる話でした。

9つのプラクティスとはいいつつ各プラクティスでさらにいくつか章がわかれてかなり多くの手法が学べる。

その中でもテストに対する考え方が重要だと感じました。

テストファースト開発行うことでバグをうまないようにできさらに、機能の追加する際にやリファクタリングする際に有効。

面白いなと思ったのが、「プラクティス8 設計は最後に行う」でしたね。

体外は設計は最初にちゃんとしましょうねといった記事や本を読んだことはありましたが、本書籍は真逆で意外でした。

得た知識

  • ラクティス1 やり方より先に目的、理由、誰のためかを
  • ラクティス2 小さなバッチで作る
  • ラクティス3 継続的に統合する
  • ラクティス4 協力し合う
  • ラクティス5 「CLEAN」なコードを作る
  • ラクティス6 まずテストを書く
  • ラクティス7 テストで振る舞いを明示する
  • ラクティス8 設計は最後に行う
  • ラクティス9 レガシーコードをリファクタリングする