「良いコード/悪いコードで学ぶ設計入門」の読書感想です。
基本情報
タイトル
良いコード/悪いコードで学ぶ設計入門 ― 保守しやすい 成長し続けるコードの書き方
作者
発行日
- 2022/4/26(電子版)
- 2022/4/30(紙版)
出版社名
技術評論社
感想
いろんな悪魔を認識することができた
普段何気なく読んでいる業務コード。
そこに悪魔が潜んでいるかは悪魔の特徴を知らなければ分かりません。
クラス名は ProductManager か … 商品関連のロジックは全部ここにぶちこめばいいんだな
どこかに実装したい内容と似たような処理をやってるとこないかな … あっ、あった、コピーしよ
このキャラの属性設定しなきゃ … えっと、このキャラだったら属性は火属性って処理を switch 文に追加して … っと
悪魔にはどういった特徴があるのか?
また、悪魔を見つけ出した後はどう退治すればよいのか?
この本はそんなことを教えてくれるエンジニアのための悪魔攻略本だと感じました。
命名って大事
例えば ProductManager というクラス。
商品の何を管理するクラスかパット見分かりませんよね。
注文?配送?それとも在庫でしょうか?
命名を誤るとクラスが請け負う責務が不明瞭になり、本来の責務とは関連しないロジックが実装され、ソースコードが肥大化。
やがてそのクラスは「神」クラスへと進化を遂げ、人類は太刀打ちできなくなるでしょう。
設計は命名から始まる。
そのことを改めて再確認することができました。
コラムのクソコード動画が面白い
ミノ駆動さんといえばクソコード動画で知っている人は多いかもしれません。
本書のコラムでも「共通化の罠、継承、カプセル化」などのクソコード動画が紹介されていました。
参考までに実際のクソコード動画へのリンクを張っておきます。
集中力が途切れてきた頃にクソコード動画が登場してクスッとさせてくれて読むモチベーションが維持できました。笑
悪魔の解説後に関連するクソコード(悪魔)動画を差し込んでくれていたので、悪魔によって何が引き起こされるのかが分かりやすかったです。
実践すること
実装前に裏側のビジネス目的を正確に理解し、クラス等に対して目的ベースで命名を行う