Vernichter schrieb:
richtig, ist teste nie meine software ...
Warum finde ich dann ganz schnell zwei wirklich blöde Fehler?
Den Eindruck habe ich, weil ich innerhalb 5 Minuten wieder zwei Fehler provoziert hab. Und die waren jetzt nicht irgendwie komplex, oder schwer reproduzierbar.
Vernichter schrieb:
beim ersten fehler fehlt nur ein komma, das kann ich gleich beheben - im zweiten sagt er dir, dass er die buchstaben nicht in "int32" umwandeln konnte (erscheinungsjahr).
Lesen kann ich auch. Die Meldung sollte nicht kommen. Wenn schon eine Meldung, dann nicht die Exception-Message, sondern eine die auch einem dummen User was sagt. Außerdem sollte ich so unsinnige Werte gar nicht eingeben können.
Vernichter schrieb:
wenn man gespeichert hat, kommt die meldung - da kann man zur not sehen, ob man alles richtig eingegeben hat (wird in großen firmen genauso gemacht - nur mal so nebenbei).
Ok noch mal:
GambaJo schrieb:
Nachdem man einen Satz erfasst hat, kommt die Meldung, dass das Speichern erfolgreich war, und dann ist der Satz weg. Für gewöhnlich wird der Satz nach dem Speichern in View-Modus angezeigt, damit der User noch mal kontrollieren und eventuell korrigieren kann. Gleiches gilt übrigens auch, wenn man den Satz editiert.
Jetzt verstanden? Ging nicht um die Meldung, obwohl die auch sinnlos ist.
Ich sag dir mal, wie es in großen Firmen ist. Die großen Firmen wollen ihren Usern so viele Eingaben und Klicks wie möglich ersparen. Das kostet Zeit und Geld. Ist zwar nur ein Klick, aber wenn Du am Tag mehrere 100 Sätze erfasst, wird dir das auf den Senkel gehen, und auch summiert einiges an Zeit kosten. Wenn das Speichern erfolgreich war (egal ob neuer Satz oder nur Edit), wird der Datensatz ganz normal auf dem Dialog angezeigt, wobei die Eingabefelder disabled sind. Eine Meldung bringt man nur, wenn das Speichern nicht erfolgreich war, weil das eine Reaktion des Users erfordert. Alles andere ist unnötig.
Vernichter schrieb:
zu den buttons: das ist ne sache von nicht mal 30 sek.
Warum dann nicht von vornherein so?
Vernichter schrieb:
modul fuer kuenstler ist nicht vorgesehen.
Das heißt, dass der User jedes Mal den Künstler neu tippen muss, wenn er 10 Platten vom gleichen Künstler hat? Ist nicht wirklich sinnvoll. Erstens hat man dann mehr Tipparbeit, zweitens hast Du so eine mögliche Fehlerquelle. Wenn Du nachher z.B. eine Auswertung über Vinyls machen möchtest, die alle Vinyls zu einem Künstler zeigen soll, wirst Du Probleme kriegen. Denn mal wird der Name ausgeschrieben, mal abgekürzt, mal fehlt vielleicht der Vorname, oder man hat einfach einen Tippfehler gemacht. Für die Datenbank sind das aber unterschiedliche Werte, und so wirst Du unter Umständen eben nicht alle Vinyls zu einem Künstler angezeigt bekommen.
Normalerweise ist es so, dass die Daten, die nicht wirklich in einer Tabelle fest eingetragen werden müssen, nur als Verknüpfung gespeichert werden, und bei Bedarf mit im Dialog eingelesen und angezeigt werden. Das hält die Tabellen schlank, vermeidet Redundanz, und bringt Vorteile, wenn Du mal die Daten ändern musst.
Ich will dich hier nicht ärgern oder deine Software schlecht machen, aber ich hab schon recht viel Erfahrung mit dem Thema. Und man sieht selbst an einem so kleinen Projekt, wie dieser Applikation, dass es eigentlich sinnvoller ist, das noch bevor man anfängt zu programmieren, vernünftig und möglichst detailliert plant.
Zunächst mal geht man hin und macht eine Soll-/Ist-Analyse (dürfte hier wohl kurz ausfallen). Man überlegt sich, was der User möchte. Dann überlegt man sich, was dem User noch helfen könnte, oder was keinen Sinn macht, was ist möglich, was er will. Man erstellt im Prinzip ein Lastenheft. Später überlegt man sich Testszenarien. Erst wenn die ganze Kopfarbeit abgeschlossen ist, beginnt man zu programmieren. Meistens ist es so, dass die Programmierartbei nur 1/3 des gesamten Projektes ausmacht. Der Rest ist Planung und Test.
Und wenn man gut und genau genug geplant hat, muss man nur noch das Geschriebene in Code umwandeln, ist dann recht einfach. Das schwierige ist die Planung, denn hier muss man mal das Ganze nicht aus der technischen Seite sehen, sondern aus der Anwenderseite (zugegeben, fällt mir auch nicht leicht). Was nützt das tollste Stück Software, das aber keiner bedienen kann? Was nützt es, wenn der Workflow total daneben ist? Was nützen sinnlose Optionen oder Eingaben?
Richtige Softwareentwicklung ist eben nicht so simpel, wie man das in der Schule vermittelt bekommt. Das erfordert Köpfchen, Hingabe, viel Geduld und Zeit.