バグを求めるものたち 前編 | 悪態のプログラマ

悪態のプログラマ

とある職業プログラマの悪態を綴る。
入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。

「プログラミング中には、作ったプログラムを動かすな。ただソースコードを書いてコンパイルが通ればよい。とにかく、テスト工程に入るまでは絶対に動かさないこと」

あるプロジェクトマネージャが、プログラマにこのような指示をしていた。

おかしなことを言うものだ。

プログラミング中に「動作確認」ができるのなら、積極的に行うべきだろう。そのほうが品質のよいプログラムができるに決まっているからだ。


プログラミングの目的は、単に「ソースコードを書く」ことではない。「正しく動くプログラムを作る」ことである。

文章の誤字・脱字を探すのとは違って、ソースコード上のミス(バグ)は、読み返しただけではなかなか見つからない。実際にプログラムを動かして確認しなければ、見逃してしまうことも多い。経験が少ないプログラマであればなおさらである(※1)。

大きなシステムを作る場合でも、まず一部の機能だけのソースコードを書き、そこだけを動かしてみて、確認すべきだ。その部分が正しく動いたら、別の小さな機能を書く。少し書いては動作を確認し、動作を確認してはまた少し書く。このようにして、小さな機能を着実に作り、それを積み上げていくことで、品質の高いシステムが出来上がるのである(※2)。

プログラマが念入りに「動作確認」を行うほど、品質は高くなる。「プログラミング中にプログラムを動かすな」という指示は、品質を落とすためになされているとしか思えない。

私がそのような指示を受けたプログラマであったら、指示は無視して、プログラミング中の動作確認を行うだろうと思う。また、全てのプログラマにも、そうであって欲しいと思う。


問題は、なぜこのマネージャがバグの数を増やすような指示を出したのか、ということだ。

続く




※1
もちろん、ソースを読み返す必要がない、というわけではないので、誤解のないよう。

※2
テストドリブンとか、テストファーストと呼ばれる手法は、それを徹底(かつ自動化)したものといっていいだろう。



■関連記事
バグを求めるものたち 中編
バグを求めるものたち 後編



図解入門 よくわかる最新ソフトウェアテスト手法の基本と極意―ソフトウェア品質向上のための実践テスト手法
若林 宏
秀和システム (2003/11)
売り上げランキング: 238,824
おすすめ度の平均: 2.25
3 ソフトウェアテストで必要最小限の知識を紹介
2 手始めに読むための本
3 即実践本。この本でなくとも構わないが・・・


世界一わかりやすいプロジェクト・マネジメント
サニー ベーカー G.マイケル キャンベル キム ベーカー
総合法令出版 (2005/04)
売り上げランキング: 7,301
おすすめ度の平均: 5
5 分厚いが読み通す価値あり
5 判り易く・やる気にさせるプロジェクト管理指南書