見出し画像

【開発哲学4_5】〜『リファクタリング 既存のコードを安全に改善する』〜第5章 リファクタリング・カタログに向けて〜

感想

6章以降の具体的なテクニックを読む前にわきまえとく視点をまとめてる章。

詳細

見出しとしては、

  1. リファクタリングの形式

  2. 参照の検索

  3. 本書のリファクタリングの成熟度

て感じ。

ホント、

でも書いたとおり、この本の以降の章で書いてるリファクタリングの方法はあくまでも一例。
当時とは技術も開発環境も格段に進化してるから、

考え方を理解して、最新の環境に合わせた
自分なりにその場の状況に応じた最適なリファクタリング方法を生み出す

ことが大事。やみくもに覚えればいいわけじゃない。

まとめ

書いてることを丸暗記して、再現出来る=リファクタリングが身についた
ではない。

やり方は変わっても考え方=哲学は色褪せんなあ

💃コーディングでも結局、大事なのは、
ミニマムデザイン(=最小限)
ではなく、
ミニマルデザイン(=必要最小限)🕺
👉第三者が読みにくいコードは書くなってこと。

参考文献

ミニマムデザインについては、こちら

方針変更

今週、時間が結構あったので、読み物系の感覚で、記事を起こしてみたけど、
第1章のコードから打ち込んでからでないと理解できない構成と判断。

少しペースを落として、実際にひとつひとつのコードをローカルファイルに打ち込んみながら、読んだ感想を記事にしてくー!

技術書を読む際に、

単なる読み物として読める本なのかコードを打ち込む必要がある学習教材として作られた本なのかの見極めは大事。
ま、普段業務とかでJavaに触れてる人だと、コードを起こさなくてもOKなんだろうけど。
オブジェクト指向言語全般に通じるリファクタリングの方法を謳っている割に、Javaに普段親しんでいない人には、敷居が高いね💦
コードを打ち込みながら読んだ感想も結果は変わらないかもしれないけど🙇‍♂️
考え方を学びたいだけだから、本当はそこまでやらなくてもいい気もするけど 笑
せっかくだからやってみよ

なので

ちょっとペース落ちますー!

と思って数時間

コードを1章のコードを通しで、VSCodeまでダウンロードしてやってみたけど、
この本はリファクタリングの手法を勉強する人にとっても、コードを学習する人にとっても、読み物として読む人にとっても不親切かなあ。

小難しくコードを書き換えて
「俺こんなすごいことができるんだぜ」
感を出しているだけで、何より、
「Priceクラスを追加します」と出てきて
どこに追加するかを書いていない。
いきなり抽象クラスを追加して、
しかもコードミスっているようだし。
他の箇所もコードブロックの途中でいきなり図を入れてきてるし。
何より、移動した後とかのSwitch文の残骸をどう綺麗にするかも載ってなく途中で説明が終わってる。
6章以降はvoidでのコードなんかに終始していて、mainがないからコードを打ちにくくて仕方がない。
しかも他の言語が専門の人間からしたらただの入力値の受け渡しなんかで大したことをそもそもやっていないし。
そもそもJavaだから小難しくなってるだけだろって感じ。
これだからJavaコードと
「Javaが一番スゴイ」と言ってる人
「Java使える自分スゴイ感」出してる人
苦手なんだよねえ。

去年読み返した感想で、

「これはコードを打ちながら読む本でもコードを真面目に精読する本でもない。」て実感したから、

で、コードがどう読みやすくなるかだけ見るって言ってたわと思い出したわ。

てかmain()がない=正常に全部が動く可能性がないのに、

この本のサンプルコードだけ読んで、
「理解した」
とか言っている時点でJava自体、全く理解してないだろって感じ。

久しぶりにCODECOMPLETEを読み返して、あまりの素晴らしさにこの本もそうと勘違いしてたわ。

なので結論

👉コードについては細かく追わない。つらつら流し読んで、折に触れていいなと思った考え方のみを追っていく感じで読みまする。
別にJavaの専門でもないし、リファクタリングの考え方が分かれば十分なんで。

この記事が気に入ったらサポートをしてみませんか?