Ich möchte auf jeden Fall zuerst die Programmlogik machen und mich erst später für ein UI entscheiden. Kandidaten dafür sind, in Reihenfolge meiner Präferenz: Urwid/ncurses, Textterminal, Qt, Webinterface, wobei letzteres vermutlich ausscheidet, da das Ganze im wesentlichen für kleine Bildschirme (8-10 Zoll) geplant ist.
Ich habe erst ein paar Zeilen eingetippt, da soll noch nichts laufen, ich bin ja noch bei den Vorüberlegungen:
Code: Alles auswählen
class Probe(object):
def __init__(self, labornummer=None, einwaage=None, wassergehalt=0, zementgehalt=None):
self.labornummer=labornummer
self.einwaage=einwaage
self.wassergehalt=wassergehalt
if wassergehalt>0:
self.trockeneinwaage=self.einwaage/self.wassergehalt
else:
self.trockeneinwaage=self.einwaageDas Programm wird drei Eingabebereiche haben:
Proben (siehe oben); Datenquelle: User
Stammdaten/UserConfig; Datenquelle: User
Messung; Datenquelle: Maschine
Die Eingabedaten müssen validiert werden, und zwar nicht nur auf type, sondern auch auf Sinnhaftigkeit. Die Frage ist nur, wo?
Sollte z.B. für obigen Code die Validierung ein Teil der Klasse sein, eine Methode? Oder baut man sich eine separate Validator-Klasse, strikt getrennt von der Programmlogik? Oder ist es sinnvoll, die Validierung möglichst nahe an das UI zu hängen, bei einem Web-Interface z.B. per JS direkt bei der Eingabe?
Wie ist da der Python-Weg?
Vielen Dank!
Ingo
