2021年最初の読書はリーダブルコード。 今年は本をたくさん読みたいので景気づけも兼ねて元日のうちに読み始め、今日の午前に読み終えたので感想を綴る。

本の概要

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) | Dustin Boswell, Trevor Foucher, 須藤 功平, 角 征典 |本 | 通販 | Amazon

プログラマーに向けた、読みやすいコードを書くためのバイブルといわれることもある本である。 表紙が楽譜のデザインであり、ソフトウェアにおける「コード」と音楽における「コード」(音楽符号) をかけているのがポイント。

プログラムを書く人間なら読むべき、としばらく前に教えていただいたが積読されていた本である。 英語版は無料で PDF が手に入る。 日本語訳版は3000円くらいだが有名な本なので図書館とかに割と置いてありそう。 (弊学にはあった。)

感想

本書は良いコードを書くための方法を具体的に説明しており、そのまま実践できそうな内容が詰め込まれている。

しかしながら沢山のテクニックが示されておりその個々を読みながら納得することは出来ても、今の時点では自らの血肉となった気がしない。 実際にコードを書くときに書かれた内容全てを実現することはすぐには出来ないだろう。 定期的に見直して意識を続けるほかない。

幸いにも各章のさいごに「まとめ」が付いており、これがとても良くできている。 まとめをインデックスとしてまずは迷ったときに本書に戻れるようにしておきたい。

特に5章, 6章のコメントに関する言及は興味深かった。 本書では、よく言われる言葉「コメントには WHAT ではなく (あるいは HOW ではなく) ではなく WHY を書こう」ではなく「コードの理解するのに役立つものなら何でも良いから書こう」と説明されていた。

私は以前はコメントを沢山書いていた。 命名については深く考えておらず、ソースコード内に日本語で説明できる部分があるなら助かると思っていたからだ。 しばらくして Git を学び、命名の大切さを知り、以前コメントに書いていたようなことは命名で表現できるのではないかと思うようになった。 さらに無駄なコメントは悪である1という考えを知った。

これらは勿論大切なことではあるが、必要以上にコメントを忌み嫌ってほとんど書かなくなったように思う。 自分の書いたプログラムをあとから変更しようとするときにコードを理解する負担が増えたような気がして気づいた。

こういった曲がった考えを直して正しいスタンスを説明してくれているのが本書だと感じた。2 コメントをどのように書くか悩んだときは、5章4説にある「とにかく書き始める」が有効だろう。 まず頭で思ったことをそのまま書き出してから細かく改善することで良いコメントを作ることを勧めている。

こういった一つ一つの事柄をコツコツ実践していきたい。

Footnotes

  1. コードを読んですぐに分かるようなことをコメントに書くのは良くない。画面を専有する、コードを書き換えるときに一緒に書き換えなければならず負担になる、書換えを忘れてコードの内容とコメントの内容が乖離していたら読み手は混乱する、などの理由から。

  2. そもそも無駄なコメントは必要ないと指摘してくださった方は同時にあわせて「リーダブルコードを読んだほうが良い」と仰っていた。 それを積読のまま消化しなかった自分が悪い。