2014年3月10日月曜日

プログラムは仕様通り動けばいいってもんじゃない

以前勤めてたある職場では、システムの機能追加のために、過去のプログラムの動作を把握する必要がありました。その過去のプログラムは、僕がその現場に入る前からずっと使ってきたもので、僕が会話どころか姿を見たことすら無い人が書いたものです。もちろん、プログラムを書いた当の本人はとっくの昔にその現場を去っています。連絡先も分かりません。よくありがちな話ですよね。

そんでもって、やっぱりまともなドキュメントなんてあるわけがなく、ソースコードを読むしかなくなったわけですよ。それも「if文が7階層もネストした」ような酷いソースコードをです。これ実話ですよ。

仕方ないんでプログラムの動作を丁寧に追って、分かりやすく図式化した資料にまとめておいたら同僚の方々に凄く感謝されました。かなり大変だったので、役に立ってよかったと思いましたね。でもやっぱり他人のプログラムを解読するのはキツイ作業ですよ。資料作るのも、多分プログラム本人が作ったら10分の1の時間で済んだでしょう。

ホント、プログラムは仕様通り動けばいいってもんじゃないですね。可能な限りオブジェクト指向などを利用して分離性を高くして欲しいですし、if文やfor文などの制御構造も、条件を整理して流れを分かりやすくして欲しいと思います。論理的に等価なままネストを減らすことだってできますから。

ドキュメントは、まあ理想的には揃っていたほうがいいです。ただ現実的にはそこまでできない現場が有るのは僕も分かります。けど、せめてプログラム内に重要ポイントをまとめたコメントくらい入れておいて欲しいです。

結局プログラムは1回作ればそれで終わりで二度と見ないなんてことはなく、常に更新したり参照されたりするものです。仕様通り動けばいいってもんじゃないですね。

※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうそ。

0 件のコメント:

コメントを投稿