青空を目指して2

どこまでも続く日々日常。ゲーム・音楽好きのおっさんの半生。日々日常とちょっとだけ思ったことの日記。

プログラム

最近久々に仕事でプログラムをごりごり書いてるんだけど、昔に比べてずいぶん書き方が変わったな、と感じている。
昔は、仕様を見て切り出せる部分をブロック化し、その小さいブロックを書いて、動くかどうか実際に試しては次々作り、その最中でつじつまを合わせたりしながら、どんどん雪だるま式にふくらませる感じでプログラムを書いていた物だった。
ここのところは作り方は似てはいるんだが、まず仕様を理解してある程度全体をかみ砕いて把握する。
つぎに、コーディングに入るわけだけど、まずソースにコメントのみ書き続ける。大枠を全部日本語で書く。その時点で矛盾などを修正する。全体のイメージが完成したら、一気に全てのプログラムを書く。当然勘違いもあるし、その場で考えを追加する必要があるところもあるが、そう言うつじつま合わせも行いながら書く。始めに日本語で書いてあるので、大半のコメントは最初から存在する。さらに追加した場所は初めから、完成系のコメントを入れる。動いてから入れる、とかしない。
で、プリントアウトや、見直しをしようとつきあわせながら何度かチェック。その時点で矛盾点などをさらに排除。
この時点でほぼかけているので、細かいディティールを最後に見直しをかける。
ここまで行ってやっとプログラム一旦完了。自画自賛だが、既にこの時点で予定調和的に見える。まぁ、後は細かい文法ミスなどを直すためにコンパイルをかける。VC+6を使ってるのでどうしても細かいキャスティングのエラーが出るが、そんなのはちょいちょい、と直せばすぐに治る。ていうか、出るエラーはキャスティングエラーと、実際にないメンバを使ってるよと、宣言がないよ、ってぐらい。全部瞬間的に治る。最後に使ってなかった変数を削除して、初期化漏れを1〜2個修正。
あら、ビルド通った。
昔はビルドを通すのに丸一日とかかけて悪戦苦闘したもんだが。今回は確かにソースの規模も小さいが、それ以上に書き方がまるっきり変わってしまったのが大きいと感じる。なんか、無地のテキストにプログラムが埋まっていて、それを掘り出しただけのような印象だ。

実際はこれから動かしてみていろいろいじるんだが、なんか動かない気がしない。
実際のところ、いきなりちゃんと動くわけはないと思うけど、なんかいい感じ。

人に教えたり、全体をいつも見渡すような作業をしてると自分自身のスキルの再構築に確実になるね。いい勉強したよ。