ご献本をいただきまして、読みました!訳者まえがきに「読みやすさを扱った本の翻訳が読みにくいというのではシャレにならない」と書いてあって、気合いのほどが感じられるわけですが、さすがの角さんです、とても読みやすい翻訳のおかげで、すいすいと読み進めることができました。感謝!
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) Dustin Boswell Trevor Foucher 角 征典 オライリージャパン 2012-06-23 |
最近も、後輩が「もっとよいコードを書きたい」と嘆いている姿を見かけたところでして、そういった子には、間違いなくおすすめする1冊です!本書を読んでから自分のコードの元に帰っていったら、きっと、コードの見え方が変わっていることでしょう。
きれいなコードを書きたい
日々の中に少しでもコードを書く機会を持っている人なら、誰しもが「もっときれいなコードを書きたい」を思ったことがあるのではないでしょうか。
文章を書く人なら「わかりやすい文章を書きたい」と思うでしょうし、手書きで文字を書く人なら「きれいな字を書きたい」と思うでしょう。それと同様に、コード書きが「きれいなコードを書きたい」と願うのは、自然なことだと思います。
自分のアウトプットは、自分の身体から飛び出した瞬間に、自分にフィードバックを与えます。自分の手書き文字を「きたない」と思っていたら、たくさんの字を書くことに抵抗を覚えることでしょう。コードも同じです。「ああ、またクソみたいなコードを量産してしまった…」と感じるより「ひゃっほー!いいコードを書けたぜー!」と感じた方が、より楽しくコードを書けますし、ともなって、アウトプットの量も増えるでしょう。
なので、少なくとも自分で「つらくない」と感じられる程度に「きれいなコード」を書くのは、生きていくために極めて重要なことであると、ぼくは捉えています。
「リーダブルなコード」とは
ひとつ前の節では「きれいなコード」という表現を用いました。他にも「よいコード」「優れたコード」なんて表現が、プログラマたちの会話の中で使われています。表現はどうあれ、どれも、ある指標に従って「善し悪し」を計っています。本書では、その指標として「読みやすさ」を掲げています。読みやすいコードが、よいコード。処理内容を理解するまでに要する時間の短いコードが、よいコード。
本書を読んでぼくが得たもの
コードの「読みやすさ」を疑う感覚
気が付けば、なんやかんやで10年以上もプログラミングしながら生きてきたことになりますので、コードを見たときには「これはよくないのでは…?」と疑う感覚は、少なからずぼくにもありました。本書を読んでいて「うんうん、そうだよね。あるあるー」と共感しながら読むところもあったのですが、後半に進むにつれて「なるほど、これも疑ってよいのか!」という発見が多くなりました。
具体的には、P.105の「より優雅な手法を見つける」や、P.183の「最小のテストを作る」は、読んでいて「あざやか!」と思わされました。ここで例示されているようなコードの場合、自分は、読みやすくしていく旅の途中で止まってしまっているなあ、と。読みながら「あっ、きのう書いたコードも、同じように整理できる…!」と気付かされました。
コードに関する会話のフレームワーク
自分の中である程度は「感覚を持てているつもりになっていたこと」についても、一段階深く理解できた気がします。本書の中で「カラフルな単語」「ピンクの象」「大音量」として登場した表現たちは、日々、プログラマ同士で会話する際の便利なフレームワークとして機能しそうです。
「このメソッドの “ピンクの象” はなんだろう?」なんて会話が成立するなら、やりとりが、とってもスムーズになるはずです。
コードレビュー見に行ったらリーダブルコード読めとだけコメント付いてた
— Issei Naruta (@mirakui) July 4, 2012
うらやましい。
まとめ
「こういう場合は、こうしなさい」と説教されながらルールを押しつけられている感がまったくなくて、とても読みやすかったです。大事なのは「考え方」であって、その考え方を、目の前のコードに対してどう適用していったらいいかは、例とともに丁寧に解説してくれています。ぼくは説教臭い文章を長時間に渡って読むことができないので、本書の雰囲気は、とてもありがたいものでした。
それから「解説」について。日本語版には、須藤さんの文章が載っています。この解説の部分は、下記で誰でも読むことができるので、本書に興味を持っている人は、まずは解説だけでも読んでみるとよいですよ!
リーダブルコードの解説 – ククログ(2012-06-11)
ふだんの須藤さんとは口調がちょっと違う文章になっているように感じますが、最後の会話形式の4行、すべてが込められている感じでグッときます。背筋が伸びます。
写真の手前は、今回の「リーダブルコード」です。その奥にあるのは、角さんの訳本に須藤さんが「kdmsnr☆」と落書きサインしてくれたもの。さらに奥、いちばんうしろにあるのは、今回と同じく角さん髙さん担当のウェブオペレーション。角さん須藤さんといえば「最凶の悪ふざけ先輩ズ」という印象なのですが、お世話になっているなぁ、と、あらためて感謝した次第です。