話題のあの本を買ってきました
良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方
買ってきました、ミノ駆動本。
普通に本屋に売ってました。
ただ、正式タイトルを覚えておらず、一生懸命「ミノ駆動本」を探していたので、なかなか見つかりませんでした。
そのため、最初は間違って「ノミ駆除法」という本を買ってしまいました。
ワイ「ええと、ミノ駆動本、ミノ駆動本、どこや・・・?」
ワイ「あった!・・・ん?」
ワイ「ノミ駆除法・・・ちょっと違うか?」
ワイ「いや、ノミってのは、多分バグのことを指してるんやろうから」
ワイ「バグを取り除く方法が書いてあるはずや」
ワイ「よし、購入や!」
ワイ「さっそく読んでみよか」
ワイ「なになに、ノミ防止用の首輪をペットにつけて・・・?」
ワイ「いやリアルなノミの駆除法やないかい!」
嘘です。
普通に買えました。
ここから感想文
めっちゃ読みやすい。分かりやすい。
今まで買った技術書の中で、一番読みやすくて分かりやすいです。
それって「学びやすい」「つらくなく学べる」ってことなので、読み手としてはメッチャありがたいです。
この読みやすさには、執念を感じました。
ミノ駆動さん「バグを生みにくく、変更しやすいソフトウェア作りが重要なんや・・・!」
ミノ駆動さん「でも、それがなかなか周りの人間に伝わらへん・・・!」
ミノ駆動さん「この伝え方もダメ・・・!」
ミノ駆動さん「あの伝え方もダメ・・・!」
ミノ駆動さん「ぐぬぬ・・・!」
ミノ駆動さん「ほな、ここまで分かりやすく読みやすく説明すればええのやろ!」
そんな執念を感じてしまいました(勝手な想像です)
あの爆殺動画の書籍化?
元々は「あの爆殺動画シリーズを書籍化しませんか?」というお話だったらしいです。
この動画シリーズもすごいですよね。
ミノ駆動さん「ここまで面白くて、分かりやすければ・・・」
ミノ駆動さん「流石に伝わるやろ!!!」
そんな執念を感じます(勝手な想像です)
伝えるための工夫、まじでリスペクトです。
ここから本の内容
オブジェクト指向的な、クラス設計の話が多い
「バックエンドの人たちって、こんな風に考えてるんや」って感じで、メチャクチャ勉強になりました。
ワイはフロントエンドエンジニアなので、TypeScriptばっかり書いていて、クラスって普段ほとんど書きません。
なので「値オブジェクト」すらよく知りませんでした。
(TypeScriptにもclass構文は一応ありますけどね)
フロントエンドエンジニアって、割とワイみたいな人が多いと思います。
とっても勉強になるので、オススメです。
具体的な話が多い
どの説明も、全部サンプルコードがあります。
なので・・・
「なるほどー、そういう考え方が大事なんやー」
「でも・・・具体的にはどんな場面で使えるんやろ?」
「その考え方でコードを書くと、具体的にどんなコードになるんやろ?」
↑こうなりません。全部コード書いてあります。
タイトルの通り、まさに「良いコード/悪いコードで学ぶ」って感じです。
もうちょっと上流っぽい話も
具体的なコードの書き方より、もう少しだけ上流っぽい感じの「モデリング」みたいな話も書いてありました。
現実世界の「解決したい問題」を抽象化して図に起こす、みたいなやつです。
「現実世界のモノと一対一でクラスを作るだけでは、落とし穴がある」的な話が興味深かったです。
この辺もあまり考えたことがなかったので、学びがありました。
フロントエンドの話はない
「フロントエンドで明日から使えるテクニックが満載!」っていう本ではありません。
「フロントエンド版ミノ駆動本」もあったらいいのな、って思いました。
でも、考え方が流用できそうな部分はありました。
「イミュータブル(不変)」だったり「副作用」だったり「参照透過性」だったり。
あとは、命名の話とか、他にもいろいろ。
総評
好き。