Come gestisco una definizione che non ha un termine neutro? [chiuso]

1

L'applicazione finanziaria che sto creando contiene dati che corrispondono a due termini. Funziona così:

  • number > 0 = overspend
  • number < 0 = underspend

Sfortunatamente i termini overspend / underspend non hanno un termine neutro, come nospend o whateverspend . Ora non sono sicuro su come salvare questi dati, ad esempio una colonna di database. Che nome do a questa colonna del database? O come gestirlo nel mio back-end? double <...spend> = // a number ?

Quindi, come la domanda dice: come gestisco una definizione nella mia applicazione che non ha un termine neutro, ma positivo o negativo?

    
posta Jelle 06.03.2017 - 09:34
fonte

3 risposte

3

Non salverebbe il flag di overspend / underspend. Si salva il "numero". Quindi puoi sempre verificare se è positivo, negativo o 0 in query / view o in business logic.

Se si salva sia il "numero" che il flag di overspend / underspend, i dati ridondanti nel database sono negativi per diversi motivi, soprattutto si apre la possibilità che possano uscire da sincronizzazione (ad esempio "numero" viene aggiornato ma ti dimentichi di aggiornare il flag).

Se hai detto "budget" e "spesa" come due colonne, non devi nemmeno salvare la differenza tra questi due, che sembrano essere il "numero".

    
risposta data 06.03.2017 - 11:03
fonte
2

Assegna un nome alla variabile come se fosse sempre positiva. Avere un valore negativo implica già la situazione opposta. Quindi, nel tuo caso, utilizza overspend .

Ad esempio; un valore negativo in una variabile chiamata profitto implica perdita piuttosto che effettivo profitto . Un valore negativo in time_until_X implica che X sia già successo.

    
risposta data 06.03.2017 - 11:56
fonte
-1

Potresti nominare la colonna "Spend" che contiene "under" quando number < 0, "oltre" quando numero > 0, altrimenti NULL.

    
risposta data 06.03.2017 - 09:49
fonte

Leggi altre domande sui tag