SuzuBlog

webのお勉強はじめたばかりの初心者。備忘録

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

www.oreilly.co.jp

読み終わりましたので簡単に感想を書きたいと思います。

読みやすい!

正直、私のような初学者は翻訳された本というだけでもとっつきにくい上、オライリー本は更に難しく思えてしまうのですが、

そんな私でも、途中で挫折することなくスラスラと読めたくらい、この本は「読みやすい」です。

レガシーコードをリファクタリングする手法が書かれてあるのか?は、ほぼNO!

リファクタリングについては触れられていますが、基本は「最初からCLEANなコードを書こうね!」という本です。

恐らく、常に情報を収集し、保守性や可読性を意識しているような人には物足りない内容なのではないかなと思います。

  • オレオレルールが蔓延しておりコーティング規約が統一化されていない
  • リリース直前になってバグが多発し炎上してしまう
  • 1つのメソッドに様々な振る舞いを詰め込んでいる
  • テストカバレッジを意識していない
  • カプセル化がよくわからない、面倒くさいから全部publicで書いちゃう
  • ペアプログラミングのメリットって何?
  • テスト駆動開発って何?
  • ウォーターフォール開発ばっかりやってる

ような人は読んだほうが良いかもしれません。ちなみに私の現在のプロジェクトは上記フルコンボ役満です。ありがとうございます。

好きな言葉

あまり具体的に内容に触れるとアレなので、この本の中で私が好きな部分を抜粋していくつかご紹介します。

私たちの誰もがレガシーコードというグローバルな問題を生み出すのに一役買っている。ゆえに、私達はその問題を解決する責任がある。 p34

ルールを破り、新境地に達するためには、まずルールをマスターしなければいけないのだ。 p51

1年の開発サイクルで開発者が自分自身に大きなウソをつくのではなく、2周間のイテレーションの中で小さなウソをつくのである。 p81

私が「完了」と言うときの本当の意味は、「完了の完了の完了」のことだ。 p107

「常に誰かのメンターであれ。常に誰かのメンティーであれ」 p135

明日のベロシティのために今日品質を上げる p155

テストは特定のパラメータを用いてコードを実行する。つまりテストは具体的な要件である。 p182

今日のTODOリストを作るとき、なにをやるかは書くが、どうやってやるかを書くことはない。 p211

この業界では、レガシーコードを時限爆弾ではなく、地雷と見なす必要がある。 p226

私たちの時間と努力の半分以上は取り戻せるのだ p247

気になった方は是非読んでみて下さい。