generated at
『リファクタリング(第2版)』




第1版なのに「新装版」なのかmrsekut
もう1個前になんかあったのかな
こちらはJavaらしい
2014年出版


言語はJavaScript
だけど、JS固有の話は極力減らしてるらしい
他の言語でも応用できるように
本は分厚いけど、コード載りまくりなので意外とサクサク読める
この本の構成的にスクボ読書化した本したら読みやすいんだろうなと思った
こんな感じでレシピがちょこちょこ出てくるから
>ここで「ループの分離 (p.236)」をします
コードの必要な箇所のみに色がついているので読みやすい



Chap.1 リファクタリング-最初の例
なんか、例えば「将来的に要求が増えそうな項目」を型で定義しておくと良さそう、と思ったmrsekut
そういう発想であまり型定義することはないけど
関数の戻り値になる変数は、 result と命名する
関数名がわかりやすければそれで耐えるか、たしかにmrsekut
p.14の変数のインライン化する意味ある?
ここなんであまり説明ないんだ #??
一時変数をとにかく減らしたいらしい
これが常に良いとはあまり思えないmrsekut
名前を付けることでわかりやすくなる
キモい命名するぐらいならインライン化したほうがいいと思うmrsekut
インライン化することで、修正箇所が微妙に増える
関数呼び出しのオーバーヘッド(気にするほどではない)
フェーズの分離は意外と発想なかったかもなmrsekut
フレームワークが分離させないことを強制してくることもある
いや、そうでもないかmrsekut
p.25~あたりの、変数を一つにまとめるやつ、意味ある #??
関係ない者同士が「ある関数に使われるから」という理由で一つにまとめる意義があるのか?
動的型付け言語でやるとミスりそう
テストがあるならいいかもだけど
まとめることというか、 renderPlainText() の引数の型の方の問題



Chap.2 リファクタリングの原則
Chap.3 コードの不吉な臭い
Chap.4 テストの構築
Chap.5 カタログの紹介
Chap.6 リファクタリングはじめの一歩
Chap.7 カプセル化
Chap.8 特性の移動
Chap.9 データの再編成
Chap.10 条件記述の単純化
Chap.11 APIのリファクタリング
Chap.12 継承の取り扱い
文献リスト
訳者あとがき
索引