Quando è la funzionalità inaspettata di un bug, o semplicemente cattiva progettazione

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

  •  29-09-2019
  •  | 
  •  

Domanda

Ci sono momenti in cui un programmatore chiaramente ha fatto una scelta deliberata nella loro struttura del codice che si traduce in un comportamento che è (nella migliore delle ipotesi) poco intuitiva, ma non tecnicamente un bug nel senso che è rotto. Se questo dovesse essere classificato come un bug e fissato?

Per esempio, un noto sistema di e-commerce open source (se si guarda alla storia della mia risposta, si lavorerà fuori che uno!) Fornisce la funzionalità per incrementi quantità in cui un amministratore può specificare il multiplo di unità che deve aggiunto il carro (ad esempio deve essere di 5, 10, 15, 20, ecc). Il codice è scritto in modo che questi limiti vengono applicate solo quando il sistema è in modalità "Gestione della" (vale a dire i livelli di inventario sono decrementato con ogni ordine). Ora, si tratta di una situazione del tutto valido che un proprietario di un negozio potrebbe voler vendere il loro prodotto con incrementi specificati, ma non gestire i livelli delle scorte. Il codice ignora la configurazione in silenzio (nessun feedback per l'amministratore) e non c'è alcuna documentazione del requisito per gestire il magazzino per essere acceso.

Si tratta di un bug? O semplicemente cattiva progettazione / documentazione.

Nota, sono sicuro che alcuni lettori interpreteranno questa domanda in quanto soggettiva, ma penso che ci sia un diverso importante tra insetti e cattiva progettazione. Ciò è particolarmente rilevante in progetti open source in cui segnalazione dei bug tende a lavorare in diversi processi rispetto ai sistemi aziendali interni.

È stato utile?

Soluzione

mezzi Bug comportamento diverso da quello che il programmatore aveva in mente, mentre mezzi di design povero che il comportamento previsto dal programmatore è qualcosa di diverso l'utente può ragionevolmente aspettarsi.

Altri suggerimenti

C'è una specifica che identifica se in un modo o l'altro è corretto? Se v'è una specifica, allora è un bug.

Se non ci sono specifiche, allora forse è scarsa documentazione.

Può errori si verificano quando il codice ignora la configurazione in silenzio? Poi si tratta di un bug.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top