エレガントなコードを書こう! (2009/03/26)
posted tetsuya_odaka
世界で一番有名な方程式は、「e=m*c*c」。
アインシュタインが生み出したこの方程式は、その理論(相対性理論)とともにエレガントで美しい。
時間概念の見直しを唱えたのは、アインシュタインだけではないし、相対性理論は(あえて当時というが)物理学の本流ではなかった。同じ帰結に到達している学者もいた。しかも、100年も前の話。
アインシュタインはそんなに数学が得意ではなかったのだけど、一番有名な方程式を編み出したのは彼。
それは、彼が導いた帰結がエレガントであったから。人々がそれを「美しい」と感じるから。
物理学や数学の世界では、「エレガント」という言葉がごく普通に使われる。この式はエレガントであるのか。これを導く過程はエレガントであるのか。
フェルメールの大定理が証明されけたけど、大分な論文は煩雑なものだと思う。
エレガントとは簡潔で美しく、人々の直感に訴えるものに与えられる称号である。
コードもエレガントでなければならない。なぜなら、それは人に再利用されるから。どんなに見てくれがきれいでも、そのコードがエレガントでなければ、誰も使ってくれないだろう。
変数名の与え方、インデントの仕方、関数系の並べ方、ディレクトリの切り方。
これらに細心の注意を払わなければならない。
なぜなら、こんな些細なことが、「コードがエレガントであることの必要条件」であるからだ。