自分の書くコードは美しいか
@ITより:
自分の書くコードは美しいかどうか。プログラマなら誰しも疑問に思うことですね。とてもポピュラーな話題なのに、どういったコードが美しいかという議論はほとんど聞いたことがありません。また、美しさの基準は人によって違うようです。私はこの記事や言及された記事などを読んで、その理由に一つが分かったような気がしました。
例えば名作と呼ばれる絵画や映画を見たとしましょう。もし予備知識なしにそれを見たとすれば、印象はそれぞれ違ったものになるはずです。多くの人は感銘を受けるかもしれませんが、全く共感できない人もいるでしょう。それは作品だけ見ても、それを書いた人のことや作った時の心情や背景などが分からないことも理由の一つだと思います。
プログラムコードに対する美意識も、それに近いものがあるような気がします。それはプログラマそれぞれが違う価値観や見方を持っていて、見る人によって印象が違う。そして、コードが美しいかどうかの絶対的基準はないので、こういった議論が決着することはないのではないか、と。
たとえば記事にあったコード。私は「コードの美しさ」という観点で見た時、どちらも特別美しいとは感じませんでした。この記事を書いた方の「美しさ」とはおそらく数学的な美しさということに重点が置かれているような気がします。業務でコードを書くことの多い私の感じる美しさは単純で理解しやすいかということでして、そういう意味では最初の例の方が分かりやすいような気がしました。両者で振る舞いが若干違うことについては、あえて突っ込まないとします。:)
ただ、美しいコードを書くように心がけよう、という記事の趣旨には大賛成です。よいコードを書くにはよいとされる多くのコードを読み、それを書くことが必要だと思います。多様な多くのコードに触れて、実際にプログラムを書く。それを繰り返すことで、プログラムコードは自然と洗練されていくのではないでしょうか。
もっとも私のコードは美しいのか、と言われると、かなり怪しいですが。^^;
過去の関連記事:
yasuhoの隠れ家 - よいコードを書くために、多くのコードを読もう