『リファクタリング(第2版)』
第1版なのに「新装版」なのか

もう1個前になんかあったのかな
こちらはJavaらしい
2014年出版
言語はJavaScript
だけど、JS固有の話は極力減らしてるらしい
他の言語でも応用できるように
本は分厚いけど、コード載りまくりなので意外とサクサク読める
こんな感じでレシピがちょこちょこ出てくるから
コードの必要な箇所のみに色がついているので読みやすい
なんか、例えば「将来的に要求が増えそうな項目」を型で定義しておくと良さそう、と思った

そういう発想であまり型定義することはないけど
関数の戻り値になる変数は、 result
と命名する
関数名がわかりやすければそれで耐えるか、たしかに

p.14の変数のインライン化する意味ある?
一時変数をとにかく減らしたいらしい
これが常に良いとはあまり思えない

名前を付けることでわかりやすくなる
キモい命名するぐらいならインライン化したほうがいいと思う

インライン化することで、修正箇所が微妙に増える
関数呼び出しのオーバーヘッド(気にするほどではない)
フレームワークが分離させないことを強制してくることもある
いや、そうでもないか

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 継承の取り扱い
文献リスト
訳者あとがき
索引