高かったけど買いました。リファクタリングRubyエディション

- 作者:ジェイ・フィールズ,シェーン・ハービー,マーティン・ファウラー
- 発売日: 2020/03/21
- メディア: 単行本
リファクタリングとは何か?
リファクタリングは、コードの外から見た振る舞いを変えずに、内部構造を改良するようにして、ソフトウェアシステムを変えていくプロセスである
第1章
ビデオレンタルのコードのリファクタリング リファクタするにはまずテストコードが必要なので、minitestで雑にテストコードを作って、本の通りにリファクタリングしてみる。(サンプルコード、いくつか誤記があったので修正したもの)
リファクタ後
https://github.com/terachan3700/refactoringRubyEdition/compare/main...refactor-complete
要約
1つのメソッドが長いく多くのことをやりすぎているときは注意が必要。 インタープリタはコードのきれい、汚いを気にしないが、システムに変更を加えるのは人間が関わってくるし、人間はコードがクリーンかどうかに左右される。 新しい機能を追加する場合に、まずリファクタリングして作業しやすくしてから追加するのが望ましい。
リファクタリングの第一歩としてテストコードが必要。 メソッドを小さく分解するたびにテストを実行する。
第2章
リファクタリングの歴史、定義、利点、いつすべきか、問題点など
リファクタリングの定義
リファクタリングはソフトウェアの振る舞いを変えずに、わかりやすく直しやすいものに変更すること。 パフォーマンスの改善のための変更は、最適化と呼ぶ。リファクタリングはソフトウェアをわかりやすくする
他のプログラマや自分が将来、ソフトウェアに変更を加えるときのために、わかりやすくしておく必要がある。 自分の書いたコードも、ずっとは覚えていられないので、ごちゃごちゃしてるコードだと、読み解くだけで非常に時間がかかる。
などなど。 随時更新していく