Questa domanda viene posta allo scopo di valutare se tentare o meno di utilizzare le cose che ho raccolto al college è stata una buona idea, o anche lontanamente difendibile.
L'anno scorso ho scritto un 'creatore di formule' per capire cosa fare con i campi o come compilare i campi dei dati HL7. Il fatto che siano dati HL7 è quasi irrilevante, tranne per il fatto che non è sempre noto se un campo HL7 esisterà o se si ripeterà.
Pertanto, ho pensato, se ho bisogno di ottenere un elenco di questi campi, posso restituirmi un insieme di questi. Se non li trovo, posso aggiungere al set un valore indefinito e sfocato. Quindi posso valutare alcune cose sul set, (ad esempio, esistono tutte, fanno più di 6 corrispondono ad alcune espressioni regolari, fanno l'ascesa dal più grande al meno).
Tutto funziona OK, tranne che cosa fare con "Tutto" e set vuoto.
Per l'interesse di rendere un programma facile da usare, dovrebbe 'tutto di []' restituire vero o falso? Ho cercato di dimostrare che "nella teoria degli insiemi, l'operatore esistenziale yadda yadda sordo".
Vorrei una risposta alla prima domanda, perché potrebbe richiedere di tornare al tavolo da disegno, ma avrò un avanzamento veloce fino a qualche mese fa abbiamo aggirato il problema non avendo mai un set vuoto. Se abbiamo incontrato 0 campi nel messaggio HL7, ci limiteremo a definire indefinito nel set.
Il modo in cui volevo usare undefined era come una sorta di catalizzatore per "Non ne ho idea". So True o Undefined = Undefined, False e Undefined = Non definito e Non indefinito = Non definito. Ho fatto un punto per essere molto coerente nella mia programmazione con questo, ma tutto ciò che ha danneggiato il programma avrebbe potuto essere alleviato rendendo "Not Undefined" = True.
Ho detto ai due ragazzi che effettivamente usano il mio programma di 'fare sempre le sue formule per aspettarsi il vero caso', perché è così che fa Don Knuth.
In sintesi, il mio programma funziona. Il problema è che è ostacolato dalla mia adesione ai principi, chiaramente al di fuori del dominio del problema, che se mi fossi allentato renderei il programma più fluido e funzionante senza richiedere la consultazione del codice sorgente.
La mia domanda è: le astrazioni dovrebbero corrispondere al dominio?
Posso legittimamente discutere con un infermiere, con i capi e con i programmatori (con più mentalità militare) che "tutto il sacco vuoto è vero" o "l'opposto dello sconosciuto è ancora sconosciuto"?