Nella programmazione della luce, cosa c'è di speciale nel numero 1223? [chiuso]

3

Ho appena trovato questo post su reddit, dove a qualcuno è stato addebitato $ 1,223 per una "INSALATA BISTECCA GRATUITA".

Stavocercandodicapire"Perché 1223?" pensando che questo potrebbe essere un errore di programmazione da qualche parte. Ma il 1223 sembra essere praticamente un numero normale (= 10011000111 2 ).

Qualche idea?

    
posta Lazer 27.05.2012 - 10:12
fonte

3 risposte

13

Il prezzo non è l'unica cosa che è speciale con il prodotto in questione. Puoi anche notare che il nome è un po 'strano:

  • La prima parola è "gratis". Vedi un sacco di cose con il suo nome che inizia con "gratis" nel tuo mercato / ristorante?
  • Il nome inizia con uno spazio bianco. Perché?
  • Il nome è scritto in lettere maiuscole, mentre gli altri nomi sono scritti usando lo stile Maiuscole ogni parola.
  • In basso, vedi "Cibo: $ 6,95; [...] quor: $ 1,249,90". Se la parola semi-nascosta è "Liquore", significa che l'insalata di bistecca è stata definita come una bevanda al posto del cibo.

Dato questo, sembra più un errore umano, come quelle entità di test che si possono vedere su siti Web di bassa qualità quando sono appena aperte¹ e non si sono sbarazzati dei dati dimostrativi. Spesso è possibile trovare i prodotti "Hello Hello" o "TEST" o qualcosa di simile, con 12345, 1111 ecc. Per i campi di tipo intero, come i prezzi o le quantità. Poiché questi dati vengono inseriti rapidamente, a volte puoi visualizzare errori di battitura come "TTEST" o "Hlelo" o 1223.

Quindi perché questi dati vengono visualizzati in un ticket?

Essere breve, perché a nessuno importa.

Quando pubblichi un prodotto software, devi testarlo su dati vicini al reale. Un modo è:

  1. Definisci i dati come devono essere in produzione,

  2. Imposta i dati demo che sono abbastanza vicini; ad esempio, Adventure Works contiene dati dimostrativi che sono ancora vicini alla realtà: se vedi la tabella contenente i clienti, ci sono persone reali ma nomi fittizi e non troverai nessuno chiamato Mr. Test Test.

    Il caso è simile, ad esempio, per Oracle Database Express Edition, quando si crea un'applicazione in Application Express.

  3. Verifica il sito web con il database di sviluppo contenente dati demo.

  4. Spingi il sito Web nell'ambiente di produzione, utilizzando il database di produzione senza dati demo.

Lo stesso vale per qualsiasi bug. Quando viene segnalato un bug, lo si verifica in ambiente di sviluppo, lo si risolve, lo si verifica in staging e quindi si invia l'aggiornamento al server.

Questo processo è sia duro che costoso, quindi gli sviluppatori principianti o gli sviluppatori che lavorano su prodotti con finanziamenti insufficienti stanno testando le segnalazioni di bug direttamente in produzione. Quindi, quando un bug segnala che il software di gestione del prodotto si blocca durante la creazione di un prodotto con una proprietà specifica, uno sviluppatore potrebbe semplicemente andare a creare un "· insalata · di bistecca · gratis con un prezzo casuale di 1223. Quindi lo sviluppatore scopre che lì è in realtà un bug, lo risolve, ma dopo quattro ore di debug del codice spaghetti, dimentica di rimuovere i dati del test e lo mescola con un prodotto reale che finisce in un ticket.

¹ Alcuni contengono dati di test per anni, poiché a nessuno importa.

    
risposta data 27.05.2012 - 11:27
fonte
5

È impossibile dirlo con certezza senza mettere le mani sul software.

La mia ipotesi dal fare programmazione di Point of Sale per molti anni:

Il software Point of Sale tende ad essere molto configurabile presso il negozio. Sospetto che questo particolare software non supporti le "offerte speciali". Cioè, il software stesso non ha modo di supportare cose come "Compra un Mojito, prendi un'insalata di bistecca gratis". Il gestore si preoccupa del software cercando di capire come farlo funzionare.

Il software probabilmente supporta articoli con prezzi fissi e articoli con prezzi variabili. Gli articoli a prezzo variabile richiedono il prezzo. Le cose del direttore "aha! Io preparerò uno di questi per l'insalata di bistecca e istruirò la mia gente a entrare zero!" Lo fa, capitalizzando e indentando la "INSALATA BISTECCA GRATUITA" perché vuole evidenziare l'offerta speciale.

Funziona abbastanza bene. I cassieri vendono mojito, inseriscono il numero dell'articolo "INSALATA DI BISTECCA GRATUITA", quindi azzerano, quindi inseriscono.

Un giorno, un cassiere non presta attenzione e dimentica il prezzo. Probabilmente stanno semplicemente digitando cieco da un ordine. Entrano nel numero di articolo "Insalata di bistecca gratis" rispetto al numero di articolo "Torta di cibo angelo". Quest'ultimo è 1223. Guardano in alto, e il prompt dice "INSALATA DI CUCINA LIBERA". "Huh", dicono, entrano di nuovo. Funziona, e pensano che "deve essere un errore del computer" e riempire la ricevuta in bolletta senza guardare il prezzo.

Questo può essere esacerbato dal fatto che i registri più vecchi non hanno CRT ma piuttosto solo un display a 2 righe. Il display potrebbe non avere il prezzo totale su di esso.

Questa è la mia ipotesi. È solo una teoria, però. Ci sono molte possibili spiegazioni. Come altri hanno già detto, potrebbe anche essere che "FREE STEAK INSALATA" sia un oggetto falso e il cassiere lo abbia preso per sbaglio digitando il numero dell'oggetto. Penso che sia meno probabile però.

    
risposta data 27.05.2012 - 18:59
fonte
4

L'aggiunta di rientro è comune in alcune fatture per indicare che l'elemento è un sottotitolo o opzioni della fattura precedente non indirizzata. Ciò significa che l'INSALATA DI BISTECCA GRATUITA può essere un vantaggio dall'acquisto di Berry Mojito.

Riguardo a come il suo prezzo diventa $ 1223,00, potrebbe essere un numero 0xDEADBEEF ; il programmatore usa quel numero per inizializzare le variabili che dovrebbero essere sovrascritte dal prezzo corretto, ma in qualche modo un bug nel codice durante l'elaborazione di sottotemi / opzioni fa sì che la variabile non venga scritta e venga invece stampata nella fattura. In questo caso, viene scelto il numero $ 1223 perché è un numero enorme e distintivo e attirerebbe l'attenzione se c'è un bug nel sistema POS (e salva il giorno in questo conto).

Può darsi che questa particolare struttura non utilizzi subitem / opzioni nel programma, ma la macchina POS ha ancora il pulsante per crearli e uno staff ha premuto per sbaglio quel pulsante. Ed è probabile che il software POS non sia mai stato testato quando si preme il pulsante secondario / opzione quando non ci sono voci nel database di sotto-opzione / opzione; ecco perché è apparso il numero magico.

Inoltre, su come è in TUTTO MAIUSCOLO; potrebbe essere dovuto al fatto che il software POS è hardcoded per capitalizzare le voci / opzioni, per renderne più semplice la distinzione durante la scansione del conto.

Tutte queste sono comunque delle speculazioni, a meno che tu non abbia contattato l'istituzione e il loro sviluppatore POS.

    
risposta data 27.05.2012 - 11:45
fonte

Leggi altre domande sui tag