今更リーダブルコードを読んだ、英語で

年末からリーダブルコードの英語版を読んでいました。

昨年の目標の一つに「英語で1冊本を読む」というのがあり、今年にまでさしかかっていたのですが、ようやっと1月中に読み終わりました。

これまで日本語版も読んだことがなかったので、英語で読んだ感想と気になったところを書いておきます。

The Art of Readable Code: Simple and Practical Techniques for Writing Better Code

英語で読んだ

ソフトウェアエンジニアとして仕事をしているので、英語のドキュメントやブログを読むことはありますが、メインのインプットを英語にするというレベルには至っていません。

一次情報を英語でインプットできるとよいと思い、英語を読むことに対してもっとハードルを下げたいと思っていました。そのために一冊読み切ろうというので取り上げたのが、リーダブルコードでした。

昨年の前半にも一度チャレンジして、下記のようなブログも書いたのですが、忙しさなどを言い訳に挫折していました。

blog.zuckey17.org

英単語

今回も上記のブログで構築した英単語収集ツールを利用していましたが、1冊をすべて読みきって数えると164単語追加していました。

序盤はかなり調べる回数が多かったですが、後半はかなりスムーズに読み終わったかなと思います。著者がよく使う英単語というのはある程度偏りがあるのではないかなと思います。英語の本を一冊読むとコンテキストとともに英単語をある程度まとめて抑えることができるので、よい勉強になると感じました。

また、長い英文を読むのは目が滑ってしまうので、口に出して読むことが多かったです。その際に、読み方がわからないものもあったので、Youglishというサイトを頻繁に使いました。

このサイトはYouTube上の動画で目的の単語やフレーズが利用されている部分のみをまとめて閲覧することができて便利でした。

youglish.com

内容について

リーダブルコード自体は初心者に薦められることも多い本だと思います。かなり歴史のある本でもあるのですごく目新しいなと感じるポイントはありませんでした。

しかし、普段プログラミングしたり、コードレビューをするときに意識していることが改めて言語化されており、次から上手く人に伝えられるようになったかなと思います。

例えば、プログラムを書かない同僚に「半年前に書いた自分のコードは、他人のコードのようで、全然覚えていない」みたいな話をしたことがありました。 そのままのことが本書に書かれており、リーダブルコードに書かれていることを、先輩方から聞いていて、それを受け売りとして喋っていたんだなと気づきました。

この例はプログラミングのノウハウではないですが、本書は現在のプログラマにとっての当たり前の土台になっている書籍なのだと思いました。

また、各章のサマリがそれぞれ端的によくまとまっていて、一度読めばそれ以降はそのサマリを眺めるだけで、エッセンスを思い出すことができそうでした。

特に良かったところ

良い記述はたくさんありますが、特に気になったところは、12章のサマリの以下の部分でした。

This chapter discussed the simple technique of describing your program in plain English and using that description to help you write more natural code. This technique is deceptively simple, but very powerful. Looking at the words and phrases used in your description can also help you identify which subproblems to break off.

複雑なプログラムを平易な英語で記述して、より自然なコードを書くというテクニックの紹介です。

直前の10、11章で問題を細かく分割しようということが伝えられており、12章はその具体的な手段という位置づけでした。

普段頭の中で行っているようなことですが、改めてどのように普段のプログラミングでやくに立つかが説明されており、わかりやすかったです。

また、その後の15章では実際の開発プロセスをデモアプリケーションのプログラミングを例に、このテクニックを上手く実業務に取り入れる方法が書かれていました。

おわり

リーダブルコードは比較的簡単で分量が少なめの本でしたが、初めて英語で本を一冊読み終わったのは思ったよりも達成感がありました。

今年も引き続き英語でのインプットをより自然に行えるように英語での読書を続けていきたいです。

次の候補は、最近の RSGT2024のキーノートでも話題に上がっていた、Dynamic Reteaming: The Art and Wisdom of Changing Teams です。