「リファクタリング 既存のコードを安全に改善する」を読む 1

ちゃんと読んでない本が本棚にたくさんあるので、感想文駆動読書をやる。

第1章

  • 普段やっていることではあったけど改めて「やって良いんだな」という許しが得られた
  • リファクタリング中はパフォーマンスに神経質にならなくて良いんですよ
    • リファクタ後の方がチューニングすべき箇所分かりやすいし、最悪リファクタ前に戻すとしても容易に戻せる
  • p34: "他のオブジェクトの属性を調べる switch 文を書くことは、常に間違いです"
    • 強い主張だ...
  • ポリモーフィズムによる条件分岐の置き換え
    • 継承を嫌いすぎて手段にもあげてなかったけど必要な状況あるよなー必要になったら使おうなーという気分

カタログ部分

  • メソッドの抽出(p110)
    -> 長いメソッドは意味ごとに分割しようね

    • メソッド名が説明的で長いとしても気にしなくて良い。たとえ抽出した結果全体の文字数が増えることになったとしても抽出することで明快さが向上するなら抽出すべき。
    • memo: 「結果コード量増えてるやん、いいんかこれ...」と思っても「分かりやすくなるなら良い」という許しがある
  • 問い合わせによる一時変数の置き換え(p120)
    -> 式の結果を保存してるローカル変数はメソッドに切り出せる

    • メソッドを実行するごとに同じ計算を行うので、計算効率が気になるかもしれないけど、気にしなくてよい。問題になってから考えれば良いし、細かく分けている状態の方がより良い最適化を見つけやすい。最適化が見つからなかったとして、メソッドを一時変数に戻せばいいだけ(簡単)。
    • memo: 効率のことは後で考えるで良いという許しがある