設計は紙に書くべき

紙に書くと、頭ごなしの設計が防げます。

人間の頭は設計ができない

アプリケーションを書くことは、最終的に得られる結論にだけ意味がある現実において、数学で公式を求めることに似ています。

数学では、複雑な計算をするときは紙に書いて計算することでしょう。しかし、ことプログラミングとなると、どんなに複雑な計算であっても紙に書くことはほとんどありません。

コンピュータは計算機ですが、同時に計算機でしかないので、設計は人間が行う必要があります。実は、人間の頭は、設計ができるようには作られていません。

たとえば、このサイトのタイトルは何でしたか?思い出せないでしょう。なぜかというと、はっきりと憶えていないからです。人間は、物事を思い出すという機能に縛られているのです。憶えていないことは、思い出せません。

憶えていても役に立たないと判断したものは、なお早く忘れます。その判断が間違っていることもしばしばです。歳をとって物事を忘れてしまうというのは、忘れやすくなるのではなく、役に立たないと判断する回数が増えていくことです。

脳の拡張である紙

ここでコード書きについて、設計について考えます。「それ」が必要であるかないかは、それを思いついた時点では判断できないことがよくあります。忘れないようにメモするのではなく、あとで使う可能性のあることがらを保存しておくという意味でメモするように心がけると、ある程度うまく回ります。

もっとうまくやるには、すべてを紙に書くことです。憶えることに頭を使う必要がないので、思考の効率が根本から変わってきます。手荷物が少ないほど速く走れる道理です。

コードの改善にまつわる本を読んでも、頭に何も残らなかった…ということが二度や三度でなくなってきたら、自分のコード記述能力が自分の暗算能力の限界に達したという警告です。以後は、学んだ内容を「脳の拡張であるところの紙」に書くようにしないと、何も得られないままにもやもやと書を求めて本屋へ通うはめになります。

紙に書く、そこまで面倒でしょうか?