2013年1月1日火曜日

「リーダブルコード」を読み終わった

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
Dustin Boswell Trevor Foucher
オライリージャパン
売り上げランキング: 738

非常に読みやすい本だった。
内容が簡単で、すぐ実践できることが多く書いてある。
それでいて高い効果がある。
(なおかつ、その根元にはプログラミングに欠かせない要素が寝転がっている)

大体の内容はすでに実践済みのところが多かった。(と思う)
けれど、特に下記2点は「ほほー」と思わされた。
新しく「これはこうすればよかったのか」という新しいスキルを身につけることができた。

コメントの書き方


subversionやgitといったソースコード管理ツールが普及し始め、ソースコードにコメントによる履歴を残す必要がなくなった。
じゃあ、何をコメントに書けばいいんだろう。
とにかくコードが綺麗で読みやすければコメントはいらないんじゃないか、という考えに陥っていた。

それを払拭してくれた。

時間がたっても価値のあるコメントとはそのコード実装した時に何を考えているか
コードで説明できない内容を、裏事情やこの実装の理由を具体的にコードに書くことが大切。

という内容には非常に納得させられた。
これで、コードとプロジェクトをつなぐ架け橋ができるような気がする。
コードの意味はコードが持つのだから、その裏側である「なぜ」をコメントが補完することでよりコードをわかりやすくする、というコメント作法には眼からうろこだった。

テストコードの書き方


あんまり単体テストやらテストの自動化ができていないから、見直す内容というより新規の内容に近かった。

テストコードなんて長く、とにかく細かく網羅することが目的で多ければ多いほどいいという単純な考えだった。

それを、実コードに近いレベルで設計、整えられたコードにするのが良いとは思ってなかった。
サンプルコードを読んでいて、「これ、テストコード自体のテストが必要なんじゃないの?」と思うくらい、しっかりとしたコードでビビった。

再利用性を高め、永続的なコードにするためには、テストコードも高級でないとだめ、ということを思い知らされた。

その他感想


書いてある内容は初心者向けだけれど、サンプルコードに使用されている言語の種類が多い。
基本的にC/C++だけれど、他にもJava, JavaScript, Pythonなど。
それを考慮すると、これは幾つかの言語を知っている、一度業務のプログラムを書いたことのある中級者向けの書籍なのだと思う。

あと、最後の章、須藤功平氏による解説の内容がすごくいい。
この本を読んだあと具体的にどんなアクションを起こしていけばいいのか、その上で躓きそうに鳴るポイントをざっと書いてくれている。
その文章も読みやすく、わかりやすい。

この本は、繰り返し読んで身につけるのに最適な本というよりも、他人に読ませたくなる本だった。
仕事先のよくわからんコードを書き散らすおっさんや若手に、何とかして読ませたい。
そんな気になってくる。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
Dustin Boswell Trevor Foucher
オライリージャパン
売り上げランキング: 610

0 件のコメント:

コメントを投稿