BlueberryStream Technical

@blueberrystreamが技術的なことを書くときに使うblogです。

Re: 何故、キレイなコードを書く必要があるのか?

同意できるところも多いのだけれど、窮屈そうだなぁと感じた。

たとえば、コンパイルが速いとか実行が速いとかいうところについては、今の時代、もはやこだわらなくてもよいのではと私は思っている。プログラムの実行環境のスペックは十分によくなっているからだ。人が読みやすいのと機械が読みやすいは、突き詰めようとするとトレードオフの関係になってしまうと思う。そう考えると、人が読みやすい方を私は優先したい。人よりも機械の進化の方が速いだろうし。 もちろん、読みやすさばかりを優先してメモリーを使いまくるとか無駄にループするとか、明らかに「あっ…」となるようなコードはダメなのだが、このあたりはバランスが重要で、そのバランスはプロダクトの性質に影響されるかもしれないし、なによりも経験によって培われるものだと思う。なので、こうしておけばおっけー!のような虎の巻はないと思う。

人が読みやすいコードとはどういうものなのかと考えてみる。データの流れがわかりやすい、複数の処理内容が入り混じらず理路整然としている、などだろうか。そのための手法としてメソッドは1つの処理だけをする・1画面におさめるとか変数のスコープは狭く強く優しくするとかがある。しかし、コードによってプログラムの意図を伝えるというのにも限界がある。ここで述べているコードとはプログラムリスト中のコメント以外の部分だ。たとえば、人の読みやすさを優先するとメモリーを食いつぶしたりする場合、機械にやさしい書き方をする。そうしたとき、人にやさしくないので、コメントで想いを伝えることになる。あるいは、テストコードによって想いを表現することもできるだろう。

最後に、人にも機械にもやさしいコードを速く書ける人なんてのはそうそういるものでもないし、なれるものでもないので、どこかで折り合いをつける必要があると思う。時と場合によって、犠牲にするものを選択し、ゴールを迎えてこそ一流だと私は思う。