プログラムの見直しで洗練したシステムを作っていく

一度完成した機能だけしているプログラムを再度プログラムし直す際、要不要がはっきりしてくるので、そこで洗練することができる。

タイトルにある言葉を入れるだけで成形をコントロールすることができるようになり、よりシンプルなシステムが作れるようになった。あとは編集機能がうまく動くようになれば良い。

サイクルとしては、まず動く物をちょこちょこと試し試しながら作り進めていき、全体が目的通りに動くようになったら、その後から洗練、最適化をしていく。この洗練、最適化をリファクタリングというらしいのだが、このタイミングで「前もってこう作ってないと後から大変」という部分がはっきり分かり始める。それがプログラムの筋力になっていくのだろう。

プログラムは言語なので、基本的に運動と一緒である。つまり使わないとできるようにならないが、うまくなりたいなら繰り返しが有効になっていく。前回の改善点を客観的に視野に入れながら次々と似たような物を作っていけば、自身も洗練されていく。このサイクルが上手くなっていくと、なぜ昔それができなかったか思い出せなくなる。だから、プログラムは入り口まで導かれたら、そこからはどうぞご自由に状態になって、中間的な部分がすっ飛ばされて、いきなり高尚な世界の話しか存在しなくなってしまうのだ。

別の言い方をすれば中間に位置している部分というのは、経験ということである。基本をしっかり学んで、それを何度も色々なパターンで試し、自分の体が勝手に動くようになるまで繰り返す、無意識にある種の理(ことわり)を利用可能になるまで繰り返すことである。そのことわりが正しいかどうかを最終的にリファクタリングの中で学び、大勢で大規模なシステムを作り、経験を増やし、さらに人にも再現可能な整理された状態というのを目指すということだ。

上級者はその中間層からのサイクルを何度も何度も繰り返しているから、経験値が高く、体が自由自在にコントロール可能な領域にあるのである。

プログラムを苦手としながらも前に進むと、ある種のことわりがわかりやすく見えるが、これはコンピュータが存在しなかった時代は、文章、言語学、数学という学問を自分のものにしていった人々が手に入れた基礎的な力なのだろう。

よく、時間を無駄に使わないためにどうすれば良いかということが言われるが、役に立つということを本当に突き詰めるとプログラムが最適である。娯楽が役に立たないからやってもしょうがないというのであればプログラムしてれば良い。すぐにねをあげるだろうが。

8/19/2016 09:11:00 AM