🐙

「脳に収まるコードの書き方」を読んだ

2024/12/15に公開

地元、鹿児島で読書会をしました。

https://kagoben.connpass.com/event/324967/

みんなで読書会をしてみて良かったので、読書会で読んだ内容をピックアップして見たいと思います。

本の紹介

https://www.oreilly.co.jp/books/9784814400799/

各章で勉強になったこと

3章 複雑さに対処する

コードは書く回数より読む回数のほうが多いでした。至極まっとうな話なのですが、そのために可読性をどう上げるかは重要だと思いました。
人は確認のために1度ではなく2度3度と同じコードを読みます。
しかし、可読性が低いと読むのに時間がかかってしまいます。
そのための読みやすいコードについて述べられています。

5章 カプセル化

カプセル化の誤解について語られています。
オブジェクトの作り方を確認すると良さそうです。

最近オブジェクト指向プログラミングを再度認識しようと思いました。
この影響で以下の本を読むようになりました。

https://www.amazon.co.jp/オブジェクト指向でなぜつくるのか-第3版-知っておきたいOOP、設計、アジャイル開発の基礎知識-平澤-章/dp/4296000187

オブジェクト指向は難しいですね。

7章 分解

いろいろなメトリクスを使って適度なコードの複雑性の測定することの紹介をしています。
指標をつくることでコードをある一定の品質に保つ方法です。
コードの複雑さに対する一つの解ではあのですが、どこまで分解されるのが良いか?まで解説されていました。

8章 API設計

一番印象に残った話はこれでした。

コンピュータが理解できるコードは馬鹿でもかけるが、良いプラグラマーは人が理解できるコードを書く

ものすごく痛い話でした。これはマーチン・ファウラーの言葉ですが、現代でも通ずる言葉なんですね。

13章 関心事の分離

これもオブジェクト指向の話と一致していますね。
きれいなオブジェクトを作ることが重要だと再認識しました。

そして、関数型プログラミングとしてHaskellを学んで見ることをおすすめされます。
関数型プログラミングについては明るくないので、関数型プログラミングをやってみるともっと深く理解できるかもしれません。

まとめ

会社の違うメンバーとの読書会はいろんな知見を聞きながら(ここでは話せない話)をしながら読み進めるので、進みは遅いですが楽しくできました。
この本についてちょくちょくHaskellが話題にされているように思いました。
おかげで私もHaskellに入門したくなりました。
ただし著者も断っていますが、Haskellが良いからHaskellに移行を進める本ではないです。
基本的なことからしっかりと頭に収まるようにするチップスがありました。

みなさんも他のエンジニアと読書会してみてはいかがでしょうか?

Discussion