設計とコーディング

http://d.hatena.ne.jp/Einherjar/20071006/p1
のエントリに結城さんからコメントをいただいた。元エントリはこちら
http://www.hyuki.com/d/200606.html#i20060616

実際にコーディングしなければわからないことがたくさんある。それと同じように実際に本文を執筆しなければわからないことがたくさんある。コーディングしてみて得られた知見をフィードバックしなければ、ちゃんと設計できないのではないか。

そこでプログラマなら誰でも経験していると思うけど、プログラミングしているときは設計しているときよりもプログラミング対象に対して没頭できているような気がする。プログラミングにアルジャーノン・ゴードン効果*1があるか、わからない。しかし、プログラミング後にクールダウンしてコードを自己レビューしてみると、
ほう、なかなかうまいこといってるな*2
想定どおりに、動いているけど、このコードはどうなっているんだ?*3
なーんてことが結構あったりする。

*1:人工的に誘発された知能は, その増加量に正比例して低下していく

*2:冴えていてうまくいったとき

*3:設計がうまくいっていないとき