サカナ未遂

プログラミング、筋トレ、子育て

リファクタリング:Rubyエディションを手に入れた

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

リファクタリングとは何か?

リファクタリングは、コードの外から見た振る舞いを変えずに、内部構造を改良するようにして、ソフトウェアシステムを変えていくプロセスである

第1章

ビデオレンタルのコードのリファクタリング リファクタするにはまずテストコードが必要なので、minitestで雑にテストコードを作って、本の通りにリファクタリングしてみる。(サンプルコード、いくつか誤記があったので修正したもの)

github.com

リファクタ後

https://github.com/terachan3700/refactoringRubyEdition/compare/main...refactor-complete

要約

1つのメソッドが長いく多くのことをやりすぎているときは注意が必要。 インタープリタはコードのきれい、汚いを気にしないが、システムに変更を加えるのは人間が関わってくるし、人間はコードがクリーンかどうかに左右される。 新しい機能を追加する場合に、まずリファクタリングして作業しやすくしてから追加するのが望ましい。

リファクタリングの第一歩としてテストコードが必要。 メソッドを小さく分解するたびにテストを実行する。

第2章

リファクタリングの歴史、定義、利点、いつすべきか、問題点など

  • リファクタリングの定義
    リファクタリングはソフトウェアの振る舞いを変えずに、わかりやすく直しやすいものに変更すること。 パフォーマンスの改善のための変更は、最適化と呼ぶ。

  • リファクタリングはソフトウェアをわかりやすくする
    他のプログラマや自分が将来、ソフトウェアに変更を加えるときのために、わかりやすくしておく必要がある。 自分の書いたコードも、ずっとは覚えていられないので、ごちゃごちゃしてるコードだと、読み解くだけで非常に時間がかかる。

などなど。 随時更新していく