Laden...
C
chilic
myCSharp.de - Experte
56
Themen
2.123
Beiträge
Letzte Aktivität
vor 6 Monaten
Dabei seit
12.02.2010
Erstellt vor 7 Monaten

Man sollte überlegen wie nutzerfreundlich es wirklich ist, wenn Tasten still und leise einfach nur nichts bewirken. Das irritiert mehr als es hilft.

Da ist es verständlicher wenn man eingeben kann was man will, sieht dass was passiert und danach dann eine Meldung erhält dass die Eingabe keine gültige Zahl ist.

Erstellt vor einem Jahr

Die Tabelle sollte eigentlich... gefüllt sein.

Debugger gibt es, weil so vieles bei der Programmierung nicht das ist oder tut was es soll 😉

Die Meldung sagt "An der Position 0 befindet sich keine Zeile." mit der Angabe "bei Autovermietung2030.Vertrageinzel.PreisBerechnen()".
Die einzige Stelle in dieser Methode wo auf Position 0 zugegriffen wird, ist das mit tabelle.Rows[0]. Es gibt also scheinbar wirklich keine Row[0].

es handelt sich vermutlich um ein Timingproblem und ich solle die Datenbank einmal löschen und neu schreiben.

Jemand vom "Fach" rät das? Klingt gruslig. Was könnte ein Timingproblem sein? Datenbank neu schreiben, statt nachzusehen was das Programm tut?

Erstellt vor einem Jahr

> Sollen Begriffe wie "Checkout" oder "Commit" erhalten bleiben, eingedeutscht oder übersetzt werden?

Nein, blos nicht! Um Himmels willen...

Warum? Weil es nützlich ist einen eindeutigen Begriff für etwas wie einen Checkout oder Commit zu haben. In unserer Sprache wird das für nichts anderes verwendet als für diese eine Sache. In ziemlich jedem Artikel oder Forenbeitrag wird man diese Begriffe so finden. Also warum sollte man das unbedingt übersetzen? Irgendwelche Umschreibungen sind verwechselbar, man muss zuerst überlegen was gemeint sein soll.
Außerdem, sind wir ehrlich, Übersetzungen solcher Begriffe hören sich nur noch dämlich an.

Erstellt vor einem Jahr

Man aktiviert essentielle Features in Datenbank, damit der Programmierer nicht ständig an zig Dinge denken muss um alles konsistent zu halten, und dann muss man aber in jedem Verbindungsaufbau explizit angeben dass ein derart wichtiges Feature auch wirklich aktiviert wird?

Verstehe ich da was falsch, oder ist das tatsächlich so schlecht wie es sich für mich anhört?

Erstellt vor einem Jahr

Schau dir den betroffenen Bereich mit einem Hexeditor an. Vielleicht ist noch ein nicht darstellbares Zeichen zwischen dem = und dem " Zeichen.

Das würde erklären warum du alles bis zum = findest und ab dem " auch wieder, aber nichts wenn du nach =" hintereinander suchst.

Erstellt vor einem Jahr

Der Benutzer soll mit dem Auslösen des Commands eine optische Bestätigung, dass er einen Vorgang initiiert hat, bekommen.

Jetzt das große Aber,wenn der Benutzer nach diesem Auslösen nochmal was angeben muss, dann hat er doch den Vorgang noch nicht wirklich initiiert.

Dazu kannst du sicher verschiedene Meinungen bekommen, aber für mich ist es vor allem bei längeren Operationen wichtig dass ich sehe: jetzt läufts von selbst und will nichts mehr von mir. Dann kann man sich nämlich etwas anderem widmen.
Ich finde es unheimlich lästig wenn ich nach einiger Zeit wieder an den Rechner komme und sehe dass letztendlich noch überhaupt nichts passiert ist, weil ein paar Sekunden nachdem ich mich weggedreht habe, das Programm doch nochmal was von mir wollte.

Unabhängig von all dem frage ich mich, warum die MessageBox unbedingt in den asynchronen Ablauf hinein soll. So wie ich das verstehe kommt die zu Beginn des Ablaufs? Lässt sich das nicht alles vorher direkt abfragen und die eigentliche Aufgabe startet dann im asynchronen Teil?

Oder ist es wirklich so dass erst mal ein Teil der Arbeit passiert und sich zwischendrin dann erst eine Frage stellt?

Erstellt vor einem Jahr

Also mein erster Gedanke war ja, wenn er schon unbedingt deutsche Bezeichner nimmt, dann wenigstens konsequent auch mit Umlauten wo welche hingehören 😉
Rueckgabe .... sieht doch furchtbar aus.

Mein zweiter Gedanke war, die Kommentare irgendwo weit weit hinten in den Zeilen machen in weniger breiten Ansichten Probleme, sind in dieser Intensität sicher nicht nötig (oft erzählen sie nur das was doch sowieso schon da steht) und das Konzept sie immer auf gleiche Höhe zu setzen wird sicherlich schnell lästig.

Ich wollte dem Benutzer nur signalisieren, dass er den Rücksicherungsvorgang eingeleitet hat und über die MessageBox soll er auswählen, welchen Umfang die Rücksicherung haben soll.

Wat denn nu, wurde der Vorgang schon eingeleitet oder muss noch was dazu ausgewählt werden?
Ohne deinen genauen Fall zu kennen würde ich vorschlagen, der Benutzer soll doch einfach vor dem Start schon alles festlegen was passieren soll.

Erstellt vor 2 Jahren

Ein Argument ist es wirklich nicht, aber nach meiner Erfahrung ist != true die Stufe bevor man merkt dass man auch == false schreiben kann 😉

In Fällen bei denen man zum Beispiel vor lauter Klammern und vielleicht | Verknüpfungen ein ! untergehen sieht, habe ich schon das ! in Leerzeichen gesetzt. Dann fällt es besser auf und der Lesefluss kann trotzdem bei "wenn nicht X" bleiben, statt zu einem "wenn X nicht ist" zu werden.

Erstellt vor 2 Jahren

Ich finde es auch lesbarer wenn man == weglässt und dann genau das lesen kann was gemeint ist.
Sagt man "wenn Dienstag ist ..." oder "wenn es wahr ist dass Dienstag ist ..."?

Während == true einfach nur überflüssig ist finde ich == false noch schlimmer. Und != true ist das absolute Outing für Anfänger.
"Wenn nicht Dienstag ist" vs. "Wenn es falsch ist dass Dienstag ist ..." vs. "Wenn es nicht wahr ist dass Dienstag ist ...". Gruslig!

Erstellt vor 2 Jahren

Bei meinen "zwei Zeilen mit Vergleich" wollte ich etwas anderes schreiben als ich letztendlich geschrieben habe. Ich habe meinen Beitrag geändert und das eingetragen was da eigentlich stehen sollte. Wie ich auf if... komme weiß ich nicht, da hat natürlich kein if was zu suchen.

Falls die Listen so typisiert sind dass nichts anderes als dieser eine Datentyp enthalten sein kann, kann man sich die Casterei und Tests auf den Typ ebenfalls noch sparen.

10 von 2.123 Beiträgen