読者です 読者をやめる 読者になる 読者になる

あらみそかもすぞ

まじめにふまじめ

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
Dustin Boswell,Trevor Foucher (著者)
角 征典 (翻訳)
須藤 功平 (解説)

4時間を2日,計8時間くらいで読了.日本語が軽快で,うんうんと素直に頷きながら読み進めることができた.とはいっても,その内容はずいぶんと骨太かもしれない.これから先,何度も見返すことになりそうだ.ひとまずKindle版リクエストを押しておいた.
今日書いたコードをいじる未来の自分に楽をさせたい人なら,人の感想なんて読んでいないで,本書をすぐにでも読むべきなんじゃないだろうか,とか思わないでもないけど,自分なりにまとめてみようと思う.

本書は最初から最後まで,様々なプログラム言語での例を交えながら,リーダブルコード(=読みやすいコード)とはどんなものかをわかりやすく伝えてくれる.基本的には,まずリーダブルでないコード(=読みにくいコード)の例をあげ,そこからどこが問題なのか,どう改善していくのか(時には何通りかの思考法がある),その結果リーダブルでないコードがどうリーダブルになったのか,が1セットになっている.
これのおかげで,リーダブルコードとはどんなコードなのか,どうしていいものなのがよくわかる.隣でプロのプログラマに指導してもらってるってこういうことなんだろうか,とか少し考えたりもした.

さて,本のレビューなんて積もるほどありそうだから,ここで学生チームの開発経験1年ちょっとの駆け出しの私が,特に注目した点に焦点を当てることにする.それは,14章の「テストと読みやすさ」の14.8節「テストに優しい開発」だ.
 // 引用ここから
あとでテストを書くつもりでコードを書くと,おもしろいことが起きる.テストしやすいようにコードを設計するようになるのだ! このようにコードを書いていけば,いいコードが書けるようになる!
 テストに優しい設計をすれば,振る舞いごとにうまく分割されて,自然にコードが構成されていく.
// 引用ここまで
学部3年の授業によくある電卓の開発を行う(使用言語はJava,環境はEclipseだった)授業があった.そのときにテスト駆動開発(TDD)というものに初めて出会った.しかし,それからずっとテストが苦手だ.テストがすごい!ありがたい!というのはわかるのだけれど,自分でテストコードを書こうとすると,ううんと頭を抱えて動かなくなってしまう.このプロジェクトは絶対にテストファーストで開発を進めるぞ,と心に決めても,駄目なのだ.結局諦めてテストコードを書かずに手でテストを行ってしまうのだ.
本書では,テストファーストはさておき,上記で引用したことに重きを置いていると思う.これまで私は,テストコードを書くことばかり考えていたが,本書のおかげで自分がテストしやすいようにコードを設計すればよいのだということに気付くことができた.
いわれてみれば当たり前のことなのだろうけれど,テストに対する苦手意識は軽減した気がする.明日からはぜひテストしやすいコードの設計に気を使ってみようと思う.

最後に,テストの話に注目をしたが,他にも言語にとらわれない技術を身につけるノウハウがたっぷり詰まっていた.駆け出しプログラマは第1部だけでいいから,必ず読むといい.幸せになれる.まあ,第1部を読み終わった頃には次が読みたくなっているだろうけど.
また,日本語版のみについてくる須藤 功平さんによる解説がリーダブルコードの解説にあるので,興味のある人はこっちもどうぞ.

はじめて本の感想らしきものを書いてみたけど,難しいもんだ.何かつっこみがありましたら,コメントから(優しく)よろしくお願いします.