Ad esempio,
greater or equal to 50 and smaller than 100 (>=50 && < 100)
smaller than 10 or greater than 40 (<10 || >40)
Ho pensato a come rappresentare l'intervallo matematico in un file e in un database, l'intervallo potrebbe essere inserito da non programmatore e ho bisogno di mantenere l'input semplice, ma su un altro lato, è anche necessario mantenere l'input facile per converti in dati e facile controllare l'input degli errori ad es .: <10 || >100 sembra il più semplice ma è più difficile per me analizzare la stringa per ottenere i dati, inoltre devi considerare l'errore di formato di input
Ho considerato alcuni metodi di input, utilizzando > = 50 & & < 100 come esempio, che si trova in forma di valore chiave:
-
Usando una stringa per rappresentare l'intero intervallo:
<rangeInString>=50 && < 100</rangeInString> -
Separa due stringhe, una rappresenta il limite inferiore e un'altra rappresenta il limite superiore, quindi analizza ogni stringa nel programma:
<lowerBound> >=50 </lowerBound> <upperBound> <100 </upperBound> -
Separa il limite inferiore e superiore, separa anche il segno dal numero:
<lowerBound> <sign> >= </sign> <data>50</data> </lowerBound> <upperBound> <sign> < </sign> <data>100</data> </upperBound> -
Separa il limite inferiore e il limite superiore, anche il segno separato e separa anche il caso che, se include le condizioni uguali:
<lowerBound> <sign> > </sign> <isIncludeEqual>true</isIncludeEqual> <data>50</data> </lowerBound> <upperBound> <sign> < </sign> <isIncludeEqual>false</isIncludeEqual> <data>100</data> </upperBound> -
rilevamento automatico utilizzando
&&o||, ad es. : > = A con < B, se A < B, deve essere&&ad es. (>= 50 && <100), altrimenti è||ad es. (>= 100 || <50):<A> <sign> > </sign> <isIncludeEqual>true</isIncludeEqual> <data>50</data> </A> <B> <sign> < </sign> <isIncludeEqual>false</isIncludeEqual> <data>100</data> </B> -
Utilizza un campo "isAnd" per separare > = 50 & & < 100 (vero) e < = 50 || > 100 (falso) anziché utilizzare il segno di campo "<" e ">" :
<lowerBound> <isIncludeEqual>true</isIncludeEqual> <data>50</data> </lowerBound> <upperBound> <isIncludeEqual>false</isIncludeEqual> <data>100</data> </upperBound> <isAnd>true</isAnd> -
altro modello di dati ...
Ho bisogno di prendere in considerazione qualcosa:
-
facile per i non programmatori inserire
-
facile da convertire o analizzare i dati nel programma
-
facile controllare l'errore, ad esempio, analizzare la stringa aumentare la complessità della conversione dei dati e controllare il formato errato, inoltre potrebbe esserci un altro formato errato, ad es .:
<=50 && >100non dovrebbe essere valido, potrei consentire il rilevamento automatico utilizzando&&o||dal segno di input, ma può aumentare la complessità del codice