2010今思っていることを整理するがてら書いておきます。僕がここ最近ずっと「コードはきれいに書くべき」「読みやすいコードを」と言い続けています。Vol.56の記事もそうです。僕が話すメリットも基本的には開発者側の視点です。開発者がメリットを享受した結果、顧客にも何らかのメリットはあります。(バグが減る、仕様変更のコストが減るなど)とは言え、「コードをきれいに書ける」と言うのは「自分自身が書こうと思ったものを書ける」と言うことでしかないとも思うわけで、それはつまり「自分の脳内で思い描いたソフトウェアを具現化する」能力とも言えるのかなと思います。仮に「顧客が思い描いたソフトウェア」と「開発者が思い描いたソフトウェア」でズレがあった場合はどうでしょう。そこに価値はありません。(価値が0とは言いませんが、理想よりは少ないことは確か)更に言うと、「顧客が思い描いたソフトウェア」が顧客にとって本当に必要なものだとは限りません。結局のところ、顧客に対して価値を提供するには「きれいにコードを書ける」こと以外にも更に何かプラスアルファがいるはずです。そのプラスアルファが何かは僕自身まだ答えはでていません。プラスアルファが何であれ「きれにコードを書ける」技術はほぼ間違いなく必要です。理想を思い描けたところで、それを具現化する能力がおぼつかなければ意味がありません。「きれいにコードを書ける」ということは、「前提」であり、その先も考える必要があるのだと最近は思っています。