めだどくしょ

読書感想文を書きます。情報科学・技術、プログラミング、アート。Twitter -> @meda_dada

リーダブルコード読書会 - 10章

どういう技術書籍を読んでいるのかログを残すためにブログを作った。

早速だが、リーダブルコードの10章を友人のSさんと読んだので報告。

リーダブルコードの読書会はこれで3回目。今回は僕もだがSさんも疲れていらしたため、10章の1章分までにして、あとは近況報告をして帰宅した。 大抵は23時を過ぎるが、それより前に終わるのは今までなかった感じ。

読書会感想

今回の「無関係の下位問題を抽出する」は、3部の始まりとして今までの2部の復習を兼ねたイメージを持つ。真新しいテクニックもないが、それだけ基本を徹底する大事さは体感できた。下位目的を分離した上で、本でも言うような表面上のコードのエレガントさを追求したい。

以前にパラパラと読んだだけのこの本。やはり読み直さないと、このように奥深い命題であろうと普段から"言葉"として上位目的、下位目的を意識できていなかったこを思い知らされる。それを読書会という機会で読み直せるのはSさんがセッティングしてくれるおかげである。

Ajaxの例

自分も仕事での経験が入社してから増えて(現在2ヶ月目を過ぎている)、特に10.3のAjaxを使用した例なんかは身近に感じた。Ajaxの利用は「サーバとやりとりをする」という基本的な上位目的を忘れがちで、その中に下位目的を記述するコードは今触っているサービスにも存在する。Javascriptであろうと使いまわせる関数はどんどん関数化すべきである。

インターフェイスは妥協しない

10.6も中々意識が高い。提供されているインターフェイスで満足するな!というのは、やはり経験があってこそ思いつける考えに思う。そこのギャップをいち早く埋めるには技術書を貪る他ないだろう。もし仕事でここを意識できることがあれば、次は自分も綺麗な(コード上の)インターフェイスを提供したい。

やりすぎに注意

最後に、10.8「やりすぎ」は仕事でもしてしまったミスでもあるので、自分のような背伸び途中にプログラマとしては注意したいところである。 Rubyだが、前に無駄に細かくメソッドをprivate配下に押し込んだ記憶がある…。


以上。

余談だが、Sさんがコーディングができるようになるからアジャイル開発をリードできるようになれる、という考え方を共有してくれたのが嬉しかった。10章でもメソッドの抽象度を合わせようなんて記述があったが、カード作りも下流を分かっていないとチーム内の開発しやすさを意識した粒度でカードを作れない、等…。

リーダブルコードが書けるようになってからアジャイル開発を深く勉強してみようと勧められたので、いづれ絶対にそうしたい。

具体的にはこちらの本を指定された:

amzn.asia