なたでぽぽ

Clean Code

Clean Code アジャイルソフトウェア達人の技を読みました。

著者は、ロバート・C・マーチンさん。先日紹介したClean Coderを書いた人です。

Clean Coderでは、プログラマに焦点を当て、プロとしてどうあるべきかが解説されていました。それに対して本書では、プログラムを書くための技術に焦点を当てています。

本書のテーマをひとことで言うと、いかにして読みやすいコードを書くか、ということです。読みやすいコードを書くためのテクニックが、サンプルコードを交えて分かりやすく解説されています。

現代のプログラミングに必要な考え方が非常によくまとまっており、プログラムを書く人であれば一度は必ず読むべき一冊だと思いました。

サンプルコードはほとんどがJavaで書かれていますが、言語に特化した記述はほとんどなく、C++やC#, Rubyなどのプログラマにとっても同様に有用です。

私は日曜プログラマとして20年くらいのキャリアを持っているのですが、本書を読んで、自分がいかに古い時代の常識にとらわれているのかを実感しました。

オブジェクト指向は当然として、最近ではアジャイル、特にテスト駆動開発が主流になっているわけですが、自分は未だに20年以上前にCやBASICでプログラミングしていた頃のクセが残っているようです。

今後は本書を座右の銘とし、少しでも時代の流れについて行けるように頑張ろうと思います。

本書で推奨しているテクニックのうち、重要なものを書き出すと以下のようになります。

  • 関数や変数には適切な名前を付ける
  • 関数はとにかく小さくする
  • コメントはなるべく書かないようにする
  • リファクタリングを怠らないようにする

いずれも割と当たり前のことで、びっくりするような内容ではありません。自分がプログラミングするときに気を付けていることと大体同じです。

ただ、自分がこれらをきちんと守っているかというと、そうでもありません。ついつい適当な変数名を使ったり、長い関数を書き散らかしたりしています。リファクタリングに至っては、ほとんどやっていないと言ってもいいくらいです。

これが何故かと考えると、適切な変数名や小さい関数の重要性が本当には理解出来ていないからではないかと思われます。

本書では、このような私に配慮して、なぜ適切な変数名を付けなければいけないのか、関数を短くすると何がどういいのか、ということを手抜きなく丁寧に説明してくれています。それが非常に勉強になりました。

それから、サンプルコードが多いのもの本書のいいところです。普段他人のコードを読むことがあまりないため、上質なコードに触れるいい機会になりました。また、ケーススタディとしてリファクタリングの過程が説明されているため、順を追ってその考え方を理解することが出来ます。

ということで、本書はあらゆるプログラマにとって座右の銘とすべき一冊だと思います。先日紹介したClean Coderと共に、手元に置いておくことを強くオススメします。2冊合わせて7,580円ですが、決して高い買い物では無いと思います。