ken1flanのブログ

自己紹介・最近やってることなどを書くつもりです。

良いコード/悪いコードで学ぶ設計入門 1章のメモ

gihyo.jp

良いコード/悪いコードで学ぶ設計入門読書メモです。

長いので章ごとにしてます。

1 悪しき構造の弊害を知覚する

  • 弊害はわかるけど、どうやったらこうなっていることに気づけるんでしょう…?
    • 定性的に、「なんか開発スピードが出てないよね」みたいに言われることはありますが…。

1.1 意味不明な命名

  • 技術駆動命名ののコード、ひどい!
    • けど、よく見ますし…自分も過去に書いてました。
    • うーん…でも、このコードの一番の問題はメソッド名のどう変化するかわからないchangeでは…。subtractdecreaseにしてほしい…。
  • 連番命名…こんなのはコンパイラにやらせるか…必要があるなら、ツールを作るべきかも…。
    • 幸いなことに見たことはない…。

1.2 理解を困難にする条件分岐のネスト

  • 多重のifは…見たことあります。しかも、間の行数がスゴいヤツ…。さらにはインデントが統一されてなかったり…。
    • 厄介なのは書いている人は読めちゃうので、気づいてなかったり。
    • 昔からあるコードで、しかもテストがなかったりすると、リファクタリングが大変すぎて…やめて自分の分のif文を追加してそっ閉じ…。すみません……。
    • Rubocopなどで検知できるので、今はラクになりました…。

1.3 さまざまな悪魔を招きやすいデータクラス

  • 税金の計算………めっちゃある…………。
  • 生焼けオブジェクト……これ、あちこちにある……。
  • バリデーションロジックは…Railsに助けられて、ちゃんと集めるクセがついてると思います。
    • 書いてないことも多いですが…。

1.4 悪魔退治の基本

  • 弊害を知ると、対処しなければという意思が生まれる
    • 知らないと対処する意思が生まれる可能性はゼロかも。
  • やっぱりチーム全員で本を読むとかしたい…。
    • でも、あとから参入するひとはどうしたらいいんでしょう…?