皆さん、こんにちは
シニアAです
いつもSE道場をお読みいただきありがとうございます
本日は『デバッグの極意(設計編)』です
デバッグはコーディングだけだと思っているあなた
本日は私の極意を聞いて下さいね
私が若いころは、常に納期に追われる毎日でした
そのため落ち着いて設計したことは一度もありません
しかも設計して見直す時間があまり取れなかったため、足りないところも多く、コーディング終了後やテスト終了後に、手直しすることがほとんどでした
最近はパソコンの能力が飛躍的にアップしたのに加え、構造化プログラミングが浸透し、スケジュール管理も余裕を持って組まれる時代になりました
今ではきちんとスケジューリングされた設計期間があると思います
そこであなたに質問です
あなたは予定より早く設計書を作り上げました
設計書完了納期まであと3日あるとしましょう
あなたは一度作り上げた設計書の完成度を上げるために何をしますか
私だったらまず設計書を読み込みます
何度も何度も
このとき、仕様を知らないプログラマに説明しているつもりで読むと不足しているところがよくわかります
さあ、だいぶ煮詰まってきました
設計書の完成度もかなり上がりました
まだ時間があるとしたら、あなたは何をしますか・・・
さてここからが極意です
私だったら設計デバッグを始めます
設計デバッグとは、私が命名した設計書のデバッグ方法です
プログラムが最初に動き出すエントリーポイントから、トップダウンコーディング手法を使います
メイン関数でブラックボックス化したいくつかの関数を、1つずつコーディングします。
それをブラックボックス化した関数がなくなるまで続けます。
『これじゃ、普通のコーディングじゃないか』
ごもっともです。
ですが普通と違います
絶対に紙に書いてはいけません。
必ず自分の頭の中でおこないます
実際のプログラミングのように細かい粒度は必要ありません
設計書に書いてあることを使いながら、設計書に不足はないか、設計書に間違いはないかと、コーディングを進めて行けば良いのです
やってみると意外とすらすらコーディングできますよ
残り時間の兼ね合いで、どこかで設計デバッグ完了となります
こうして見直しをおこなった設計書は、経験上とても完成度の高いものばかりでした
慣れてきたら設計デバッグを自分流にアレンジすると良いと思います
SE道場では、プログラミングの極意や開発の苦労話等、様々な記事を投稿しています是非ご覧ください
1つ前の極意ネタは...