feature
名詞
[一般的](プログラムなどの)良い性質や振る舞い。それが意図されたものかどうかは問わない。
[一般的](プログラムなどの)意図された性質や振る舞い。それが良いかどうかは問わない(ただし悪い場合は、それはmisfeatureでもある)。
驚くべき性質や振る舞い。とりわけ、そのほうがうまくいくがゆえに意図的に一貫していないもの——そうした不一致はそれゆえにfeatureであってbugではない。この種のfeatureはときにmiswartと呼ばれる。典型的な例についてはその項目を参照。
不必要だったり余計だったりするが、おそらくは印象的だったりかわいかったりもする性質や振る舞い。たとえば、Common LISPの
format関数のあるfeatureに、数を二つの異なるローマ数字形式で印字できる能力がある(bells whistles and gongsを参照)。誰か他の人を助けるために入れられたが、たまたま自分の邪魔になっている性質や振る舞い。
[一般的]文書化されたバグ。何かをfeatureと呼ぶことは、ときに、プログラムの作者がその特定のケースを考慮しておらず、プログラムが予想外ではあるが厳密には正しくないわけではない形で反応した、ということを意味する。バグは単に文書化するだけで(そうすればマニュアルに載っているのだから、理論上は誰も文句を言えない)、あるいは単に良いものだと宣言するだけでfeatureに変えられる、というのが定番の冗談だ。「それはバグじゃない、featureだ!」はよくある決まり文句である。feetch feetch、creeping featurism、wart、green lightningも参照。
バグ、feature、misfeature、wart、miswartの間の関係は、飛行機内での二人のハッカーの次のような架空のやり取りによって明らかになるかもしれない。
A:「この座席はリクライニングしないぞ」。
B:「それはバグじゃない、featureだ。君の後ろの窓の周りに非常脱出口のドアが作られていて、その経路は常に空けておかなければならないんだ」。
A:「ああ。じゃあそれはmisfeatureだな。ここの列の間隔を広げるべきだったんだ」。
B:「そうだね。でも一つのセクションだけ間隔を広げていたら、それはwartになっていただろう——ずらした座席の上に合うように、規格外の長さの天井パネルを作らなきゃならなかっただろうから」。
A:「実際にはmiswartだな。もし全体にわたって間隔を広げたら、何列か失って、利益率の一部を削ることになる。だから不均等な間隔こそが実はRight Thing(正しいやり方)なんだ」。
B:「まったくだ」。
Undocumented feature(文書化されていないfeature)は、bugを指す、ユーモラスとされる一般的な婉曲表現だ。これに関連した、ときに「一問ギークテスト」と呼ばれる冗談がある。誰かに「今日、FEATUREと書かれたナンバープレートをつけたフォルクスワーゲン・ビートルを見たよ」と言う。もしその人が笑ったら、その人はgeekである。