@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「レガシーコードからの脱却」を読んだ

レガシーが残っている環境に所属している。前職も現職も古から動いていて、まだまだ現役だと言わんばかりのシステムがある。
※古をどれほど前と取るかは読んでる人に任せます。

それらのシステムをえいやという掛け声と、南無と祈る気持ちでいくつか切り替えてきた。しかし、期待するも虚しく失敗した経験も何度もあるので、タイトルがとても気になった。
また、2月にあったデブサミITエンジニア本大賞2020で技術書部門大賞も受賞されていたので*1読んでみようと思った。

レガシーコードを上手に消し去る方法などが書かれているかと思ったていた。実際には、レガシーコードをいかに生み出さないようにするかが書かれている。
本書では、ソフトウェアの寿命を延ばし価値を高める原則とプラクティスが9つにまとめられ、それぞれについて説明されている。
ちなみに9つという数字は「人が一度に記憶できるのは7プラスマイナス2個」という考えの上限値になっているらしい。 以下が、9つのプラクティスになる。

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

それぞれのプラクティスについて、原則の説明、実践するための7つの戦略、振り返りがそれぞれちょうど良い分量で書かれている。
本書の内容は、特別目新しい事が書いてあるようには思わなかったが、色々な分野の内容がそれほど多くない量、適度な内容だったのでとても読みやすかった。
それぞれで勉強していた内容がここでもつながるのかと思えるのは楽しかった。
また、まずは良いソフトウェアを書くためにすることを本書で学んで、気になったところは参考文献に載っている本や、文中で紹介しているブログなどを読んで深堀りしていくのにも向いているのかなと思った。

まとめ

  • ソフトウェアを作り出すための原則とプラクティスがまとまっててわかりやすかった
  • 開発者以外の人にも読んでもらうと開発者の気持ちがわかってもらえそうだなと思った
  • 自分で作るソフトウェアはレガシーと言われないように気にしながら作成しよう

テスト駆動開発

テスト駆動開発

  • 作者:Kent Beck
  • 発売日: 2017/10/14
  • メディア: 単行本(ソフトカバー)

*1:受賞おめでとうございます!!!