Quand la fonctionnalité inattendue d'un bug, ou tout simplement une mauvaise conception

StackOverflow https://stackoverflow.com/questions/4300074

  •  29-09-2019
  •  | 
  •  

Question

Il y a des moments où un programmeur a clairement fait un choix délibéré dans leur structure de code qui se traduit par un comportement qui est (au mieux), mais pas techniquement peu intuitives un bug en ce qu'il est cassé. Si cela est considéré comme un bug et fixe?

Par exemple, un système de commerce électronique open source bien connue (si vous regardez l'histoire de ma réponse, vous travaillerez sur lequel!) Fournit des fonctionnalités pour Incréments Quantité où un administrateur peut spécifier le multiple d'unités qui doit ajouter à le chariot (par exemple, doit être de 5, 10, 15, 20, etc.). Le code est écrit de telle sorte que ces limites ne sont appliquées lorsque le système est en mode « Gérer actions » (à savoir les niveaux d'inventaire sont décrémentés à chaque commande). Maintenant, il est une situation tout à fait valable qu'un propriétaire de magasin peut vouloir vendre leurs produits par incréments spécifiés, mais pas gérer les niveaux de stocks. Le code ignore la configuration en mode silencieux (pas de retour à l'administrateur) et il n'y a pas de documentation de l'obligation de gérer les stocks à être activés.

Est-ce un bug? Ou tout simplement une mauvaise conception / documentation.

Remarque, je suis sûr que certains lecteurs interpréteront cette question subjective, mais je pense qu'il ya une autre importante entre les bugs et une mauvaise conception. Cela est particulièrement pertinent dans les projets open source où les rapports de bogues a tendance à travailler dans différents processus que les systèmes internes de l'entreprise.

Était-ce utile?

La solution

moyen de bugs de différents comportements de ce que le programmeur avait à l'esprit, alors que Pauvres moyens de conception que le comportement prévu par le programmeur est autre chose que l'utilisateur peut raisonnablement attendre.

Autres conseils

Y at-il une spécification qui permet de déterminer si l'une ou l'autre est correcte? S'il y a une spécification, il est un bug.

S'il n'y a pas de spécification, alors peut-être que c'est une mauvaise documentation.

Les erreurs peuvent se produire lorsque le code ignore la configuration en silence? Ensuite, il est un bug.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top