1

プログラマーが明らかに意図的にコード構造を選択した結果、(せいぜい) 直観的ではないが、技術的には壊れているバグではない動作になる場合があります。これはバグとして分類して修正する必要がありますか?

たとえば、よく知られているオープン ソースの e コマース システム (私の回答履歴を見れば、どれかわかるはずです!) は、管理者がカートに追加する必要があるユニットの複数を指定できる数量増分の機能を提供します (たとえば、5、10、15、20 などである必要があります)。システムが「在庫管理」モードの場合にのみこれらの制限が適用されるようにコードが記述されています (つまり、在庫レベルは注文ごとに減少します)。現在、店舗の所有者が指定された増分で製品を販売したいが、在庫レベルを管理したくないというのは完全に妥当な状況です。このコードは構成を黙って無視し (管理者へのフィードバックはありません)、Manage Stock をオンにする必要があることを示すドキュメントはありません。

これはバグですか?または、設計/ドキュメントが貧弱です。

この質問を主観的なものと解釈する読者もいると思いますが、バグと貧弱な設計の間には重要な違いがあると思います。これは、バグ報告が社内システムとは異なるプロセスで機能する傾向があるオープン ソース プロジェクトに特に関係があります。

4

2 に答える 2

2

バグとは、プログラマーが考えていたものとは異なる動作を意味します。一方、設計不良とは、プログラマーが意図した動作が、ユーザーが合理的に期待できるものとは異なることを意味します。

于 2010-11-29T00:55:39.927 に答える
1

どちらの方法が正しいかを識別する仕様はありますか? 仕様がある場合、それはバグです。

仕様がない場合は、ドキュメントが不十分である可能性があります。

コードが構成を黙って無視すると、エラーが発生する可能性はありますか? それならバグです。

于 2010-11-29T00:58:45.880 に答える