« 今日のサボり成果 | トップページ | SOAに関する諸々の誤解・混乱 #3 »

2006/10/03

バグという言葉について

ITProの佐野裕のサーバ管理者日記 : バグという言葉についてに触発されて。
元記事は「バグ」という言葉のユーザー側における誤用についての話みたいだけど、ぼくがずっと気になっているのは、システム開発側での誤用というか、安易な利用。つまり、ごく基本的な、単体レベルのテストで発見し除去し得るような、単純なコーディングミスをも「バグ」と呼ぶ使い方。

元々、除去が困難なシステムの奥深くに複雑にはまり込んだ不具合をバグと呼ぶのではないかという気がする。この定義に従うと、普段は仕様通りに動いているが、ある特殊な(つまり複合的かつ滅多に起こらない)条件の元に発生するもののみバグと呼ばれる。要は、単体テストが通っていることは大前提です、と。それなりの組み合わせテスト(? 「複合テスト」だっけ? integration testとかassembly testとか、まあなんでもいいや)を行って初めて発覚するものあるいはそれでも漏れてしまうものが「バグ」である。
この定義を採用した帰結として、システム開発の現場で「バグですね」とか言っているものの9割方はバグではない、ということになる。それらはただのコーディングミスだ。ここでコーディングミスとは単体プログラムに求められる仕様を満たさないプログラムを作成することも含む(仕様の不理解によるミス)。
ついでに、「仕様バグ」なる言葉も使われたりするけど、これも同様に或るシステムレベルユースケースが仕様漏れなく設計されていることを大前提に、システムレベルユースケース間の不整合や漏れのうち、容易に発見出来ないもののみを指すべきだ。したがっていわゆる仕様バグの殆どの場合は、仕様設計ミス、仕様漏れ、等と呼ばれるべきである。

なんでこんなことを書くかというと、「これはバグである」というシステム開発現場における発言は、それ(「バグ」と呼ばれるもの)は人為的なものでなく不可避のものである、というニュアンスを往々にして帯びているから。そこにぼくは無責任性というかプロフェッショナリズムの欠如を感じ、非常に嫌な気分になる。つか、可能な限り突込みを入れるようにしている。前記のように、それらは大抵の場合容易に防げるもので、それを設計・実装した者個人に責任を帰すことが容易に出来る。したがって、「バグだとコラ、お前の単純なミスだろ? 「ごめんなさい」はどうした?」となる。

そういう意味で、はてなダイアリーのキーワードバグとは - はてなダイアリーで端的に「利用者がバグというのは良いとしても、技術者がバグという言葉を使っちゃいけないと思う。」と表現されているのに100%同意。

もう一つ参照情報、バグ - Wikipedia。前記の通り、ぼくの定義では、ここのバグの二分類「論理的な構造のバグ」と「コーディングミスによる誤記のバグ」の後者はバグではない。

ここから日記----
てな具合に今日も快調に仕事をさぼっているわけだけど、さらに今日は12時出社だった。何故かというと今回の転職活動最初の面接が朝一であったため。いきなりの食い付きっぷりにびっくりで、家に帰ってメールチェックしたら早速最終面接の案内が来ていた…。でも、他にも色々応募したいところ・面接して話を聞いてみたいところがあるんだよなー。

|

« 今日のサボり成果 | トップページ | SOAに関する諸々の誤解・混乱 #3 »

system engineering」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3241/12132004

この記事へのトラックバック一覧です: バグという言葉について:

« 今日のサボり成果 | トップページ | SOAに関する諸々の誤解・混乱 #3 »