今回はプログラミングのカテゴリーに入る本書「C#プログラマーのためのデバックの基本&応用テクニック」をご紹介します。
本書、C#をターゲットに、プログラムのデバックに関するテクニックを解説した本となります。



デバックは私もしょっちゅうやる機会がありますが、昔からずーーーと自己流でやってきました。
習ったことも本格的に勉強したこともなかったです。
しかし、少し人にも教えられるように本格的に体系的に学習してみようと思い、まずは本書を読んでみました。
本書の作者の川俣晶さん、かなり昔、パソコン初期の時代からプログラミングをやっている方のようで、本書は彼の長い経験を基に書かれているので、とても納得感があります。
また、多くのバグ解析の経験もあるので、自分ではまだ経験のないパターン等も説明されており非常に有益な情報満載です。
本書が当然 世の中全てのバグを網羅しているわけではないわけですが、かなり多くの症状、ケースなんかが紹介されております。
事前にこのよなバグの典型的な例を知っていれば将来のバグ分析力が格段と上がりますよね。
また、取れないバグの例なんかも多くのっているので、デバックで苦しむ前に抑えておくべきですね。

バグの取り方の章にも、いつも感覚的にやっていることが多く書かれていますが、やはり自分のためだけでなく、人に教えるなんて時には、このように書き出されたものを眺めることは 頭を整理するために必要でしょう。

ところで、私がデバック関連の勉強不足のため聞いたことなかったですが、各種バグにも名前があることがおもしろいと思いました。
ハイゼンバグ、ボーアバグ、マンデルバグ、シュレーディングバグ等々。
それらの名前がたいてい物理学や数学系から来ているのは、これらをやる人達はそちらの方も得意だったり好きなんだろうなと言うのに納得感がありました。私も同じようなタイプなので。

と言うことで、本書の内容は以下のようになります。目次からの抜粋です。
1. バグの典型的な症状
2. バグの典型的な出現ケース
3. バグの典型的な例
4. クラウド特有のバグ
5. バグの取り方
6. 問題を察知する方法
7. 修正が難しい各種のバグ
8. デバック後のバージョンの提供方法
9. バージョン管理
10. バグトラッキングデータベース
11. バグレポート作成者側の心構え
12. デバッグに当たっての心構え

ちなみに、全体的に説明自体はC#で、Visual Studioをターゲットにしていますが、基本的にどんな言語、どんなツールにも対応するような話が多いです。
まあ、少し言うと、途中にはさまれてる漫画はあまり必要なかったかな。
ちなみに、最後にのっているバグ用語集は聞いたことのない用語がかなりありました。。。

実際、本書は プログラム経験の少ない人には、いろいろなバグの例、デバックの例の説明はとても役に立ちます。
今後のデバック作業だけでなく、バグの少ないプログラムを書くことにとても有効でしょう。
かつ、経験豊富な人も新たな視点が発見できるのではないでしょうか。

今後も自分のプログラミング技術向上とプログラミング教育のネタとして、デバックやバグの少ないプログラミング、美しいプログラムと言うような観点も より学習していこうかと思います。

ちなみに、本書の著者である 川俣 晶 さん、他にも多くの C# に関する本を出しております。
以下なんかが本書と類似しており、より深く C# プログラミングのテクニックを知ることができると思います。







Sponsored Link