机上デバッグ(その2)・・いろいろな方々の考え

このエントリーをはてなブックマークに追加

先日、公開しました「机上デバッグの記事」に関しての続きの記事になります。

Web上を検索すると、私と同じような考え方(思い)を持つ諸兄姉方々が沢山いらっしゃるようです。

一部ですが、上記の諸兄姉方々の記事を引用記載させていただきたいと思います。

 

(1)SOUM/misc殿のサイトより引用

しかし、コンピュータ上でのデバッグの際、机上デバッグによりソースコードを十分に把握していたため、コンピュータ上でのデバッグの際に、問題場所の特定が比較的楽に行なえました。

私は、ここで言う「ソースコードを十分に把握していたため」というところに強く共感します。机上デバッグを行うと、間違いなく自分の作成したプログラムコードの全容を把握できるんです。

あるときの話になりますが、若手プログラマ(以降、彼と呼称)に彼の作ったプログラムについて、「ここの処理が終わったら、次はどのようなパターンで処理が動くの?」と聞いた際に、「全ての処理を把握していないため、判りません。」と答えられたことがありました。まったく、情けなく思いました。プログラマは、自分の作成したプログラムコードの全容を把握しておくことは絶対的な義務だと思います。

そうでなければ、いったい誰がそのプログラムの全容を把握し、その処理内容に責任を持つのでしょうか?

 

(2)アイロベクス社殿のブログサイトより引用

現在は動かしながら確認できるデバッグ実行ということもできますが、これが非常に危険な要素を含んでいます。実はきちんと動いているように見えて、中ではまったく別の処理が走ってしまっているとか、たまたまAとBの値が一緒だったから動いていたものの、BがCに変わった途端動かなくなってしまったなどということもあります。

実際にはすべてのテストパターンが網羅されていれば気がつく問題かもしれません。しかし、机上デバッグさえしっかりしておけば、テストの前に発見できるバグがいくらでもあることを忘れないようにしましょう。

ということで、アイロベックスでは机上デバッグは必須です!

この方が言われている「実はきちんと動いているように見えて、中ではまったく別の処理が走ってしまっているとか・・・」が大事なんです。机上デバッグを行うことにより、トラブルの原因となりそうな箇所や、潜在バグとなりうる箇所をトラブルが起きる前に確実に修正することができるのです。これを行うか否かにより、納品後の顧客から信頼を得られるか否かが決まることも少なくありません。

 

(3) 傲慢SE日記 ~個人事業主として獅子奮迅中(TownSoft)~殿のブログサイトより引用

 

頭の中のコンパイラ

私は机上デバッグが出来ない人はプログラマとは認めません。

この方は、少し辛口の表現で記事を書かれています。しかし、記事の内容は至極真面目で正しい内容だと私は評価します。最後の赤字の文言には、少なからず私も同意見です。また、「頭の中のコンパイラ」という表現も良い表現だと思います。まさに、若手プログラマには、この「頭の中のコンパイラ」を育てて欲しいものです。