[本] 『リファクタリング 』
近所の本屋に再入荷!!おおお、ありがとうありがとう。給料入ったので買ってやりますた。なので、これから淡々とまとめていくよ。
〜1章
例をまじえながらリファクタリングとは?を説明していく。
Movie <--- Rental <--- Customer
- 1,2,3,4章と15章を読むとよい(途中はカタログだからリファレンスにすればよい)。
- C3(Chrysler Comprehensive Compensation system)……クライスラー総合給与管理システム(翻訳用)
- 美的な判断(翻訳用)
- コードを簡単にしてから機能追加
- 小さなステップで追加していく
- 使用するデータを持つオブジェクトにメソッドは定義される
- 一時変数の削除
- サンプルソースの太文字部分がテキトーで読みにくい!
- switch文は自分(自オブジェクト)について行うこと。他のオブジェクトを参照していたら、そっち側で行うこと。
- コンストラクタからもsetter経由で変数設置
- stateパターンの適応
2章
- リファクタリング(名詞)
- 外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウェアの内部構造を変更させること。
- リファクタリング(動詞)
- 一連のリファクタリングを行って、外部から見た振る舞いの変更なしに、ソフトウェアを再構築すること。
- 効率よく統制されたやり方(翻訳用)
- 2つ帽子(add, refactoring)
- プログラムの設計の劣化(翻訳用)
- Peculier……ビールの一種って書いてある。http://www.beerhunter.com/
- 僕は、偉大なプログラマなんかじゃない。偉大な習慣を身につけたプログラマなんだ。(Kent Beck)……あれ?これって、横着プログラミング: 小粒なツールたちに載ってたやつだ。
- リファクタリングは時間をとって行うもんじゃない
- 3度目になったらリファクタリング
- 機能追加前にリファクタリング
- バグフィクスのときにリファクタリング
- コードレビューを究極に推し進めたものがXPのペアプロ
- 管理者を説得……ダメなら黙ってやっちまえ!
- ハードコードの条件分岐(なにそれ?)
- プログラムというのは、同じ品質を得るのにより少ない間接層(indirection)ですんでいるかで価値が測られるべき
- published interface……公布済みインターフェイス(翻訳用)
- 例外について
- リファクタリングをやっちゃだめ
- スクラッチから作った方が速い
- 締め切り間近
- debt:借入金。ああ、技術的「負債」って訳しちゃった。
- 推測せずに計測すべし(Ron Jeffries)