この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。
プログラマなのだからアナログな紙とペンなどいらないと思われていることがあります。
そして、プログラマは常にPCの前に座りプログラムを組んでいることが仕事であると思われていることがたまにあります。
しかしながら、そのようにして作られたプログラムは往々にして構造に問題があったり、冗長性に欠けるものであったりします。
原因として、構造設計と呼ばれるどのようにして、何をするという過程があいまいなまま、実装を押し進めてしまうためです。
ゲームを例として挙げると
- ゲーム全体の進行管理
- 各パートごと(ゲーム内容)の管理
- プレイヤー内部情報の管理
のようなシステムが存在したとき、各パートの管理であるはずのものをゲーム全体の進行管理が行ってしまっていたりすることがあります。
このような設計は可読性やバグを誘発するだけでなく、今後の拡張性も根こそぎ奪ってしまうことになります。
そのような経験を何度も体験してきたので、最近ではPCに向かう時間が減り紙とペンを持って机に向かう時間が非常に多くなりました。
なぜなら、紙とペンは文字を書くのには非常に遅いのですが、図や式等、頭の中身をそのまま出力できるという利点があるためです。
これによって、前回までとは違った利便性や新要素、拡張性の向上、メモリまわりの安全性をシステム設計の段階で考えることが出来るようになります。
紙とペンはやはりプログラマにとっても最強のアウトプットツールの一つなのでしょう。
担当:松浦@電子媒体より紙媒体が好き