TextBox Inhalte multiplizieren etc.!
-
ja ja iss gut ihr backen,..
oben wurde gefragt ob ich was ausprobiert hätte:
SO FUNKTIONIERT ES::
double a;
double b;
double result;a = double.Parse(textBox1.Text);
b = double.Parse(textBox2.Text);result = a + b;
textBox5.Text = result.ToString();
-
Wenn du die Community hier beleidigst, wirst du nicht einmal mehr den Tipp mit dem Heißkochen bekommen
Edit:
Ach das hierdouble a;
double b;
double result;a = double.Parse(textBox1.Text);
b = double.Parse(textBox2.Text);result = a + b;
textBox5.Text = result.ToString();
geht auch in einer Zeile
textBox5.Text = Convert.ToString(Convert.ToInt32(textBox1.Text) + Convert.ToInt32(textBox2.Text));
-
@FreakY<3Cpp: Schlechter Programmierstil
-
Vollhonk schrieb:
@FreakY<3Cpp: Schlechter Programmierstil
Warum sollte das schlechter Programmierstil sein? Ich bin von Natur aus faul, soll ich also 10 Zeilen Code schreiben, welchen ich auch mit einer Zeile lösen kann?
Vielleicht ist ja folgende Schreibweiße "besser" zu lesen, was aber in meinen Augen nicht so ist:textBox5.Text = (Convert.ToInt32(a) + Convert.ToInt32(b)).ToString();
-
weil Dein Programm abstürzen kann bei der Zeile
-
Und warum sollte es das tuen?
-
@FreakY<3Cpp: Die Leute haben Recht, es geht hier um CleanCode.
Sollte man die Werte irgendwie nochmals so gebrauchen müsste man deins nochmal hinschreiben, was von Redundanz zeugt. Deshalb ist es immer angebracht solche Ergebnisse zwischenzuspeichern.
-
Die Werte existieren weiterhin. Ich verändere mit der Zeile nicht die textBox1 und textBox2, also stehen dort noch die Werte mit denen gerechnet werden soll und das Ergebnis brauche ich nicht zwischen zu speichern, da es in textBox5 steht.
-
Also ich hätte es auch so gemacht .. mit dem Einzeiler. Mehr stand nicht in der Anforderung
-
Ja, dann viel Spaß beim lesen des Codes in 2-3 Jahren.
if(teamfaehig == null){MessageBox.Show("Null");}else{MessageBox.Show("Ungleich Null");}
Bei so einem Code kriegt man Koppschmerzen...
@Code-$: Gewöhne Dir das bitte nicht erst an.
-
halt nicht ... erfordert halt schnelle gedankenzüge wa
-
Doug_HH schrieb:
Ja, dann viel Spaß beim lesen des Codes in 2-3 Jahren.
Trinäre Ops gehen aber, oder?
MessageBox.Show(teamfaehig == null ? "Null" : "Ungleich Null");
@Vollhonk, FreakY<3Cpp, mogel, Firefighter, PRIEST:
Achso ihr meint das so, dachte schon in der Richtung, dass man*.TryParse(String, out *)
nehmen sollte um damit Eingaben zu validieren.
-
Doug_HH schrieb:
Ja, dann viel Spaß beim lesen des Codes in 2-3 Jahren.
if(teamfaehig == null){MessageBox.Show("Null");}else{MessageBox.Show("Ungleich Null");}
Bei so einem Code kriegt man Koppschmerzen...
@Code-$: Gewöhne Dir das bitte nicht erst an.
Verstehe ich nicht, was deine if-else Verzweigung mit einer ganz normalen Anweisung zu tuen hat? Wäre es jetzt eine etwas kompliziertere for-Schleife oder sonstiges, würde ich es verstehen, aber was ist an so einer Zeile nicht zu verstehen? Wie PRIEST schon meinte, ist wohl zu hoch für manche. Egal wann man so einen Code wieder lesen wird, sowas sollte man auf alle Fälle verstehen.
-
FreakY<3Cpp schrieb:
Und warum sollte es das tuen?
weil Du ungefragt Benutzereingaben nutzt und somit mutwillig Sicherheitsvorkehrung ignorierst ... sollte im Berufsleben für Informatiker mit Abmahnungen belohnt werden
-
mogel schrieb:
FreakY<3Cpp schrieb:
Und warum sollte es das tuen?
weil Du ungefragt Benutzereingaben nutzt und somit mutwillig Sicherheitsvorkehrung ignorierst ... sollte im Berufsleben für Informatiker mit Abmahnungen belohnt werden
darum ging es doch garnicht ... man kann doch nicht auf jedes detail das in der praxis relevant wäre eingehen. Könnte ebenso behaupten das du mir mit einer tmp variable einen weiteren angriffspunkt bietest.
-
Doug_HH schrieb:
@Code-$: Gewöhne Dir das bitte nicht erst an.
Keine Sorge, der beleidigt aus Faulheit lieber Leute die ihm helfen, aber keinen kompletten Code posten wollen...
-
Code-$ schrieb:
double a;
double b;
double result;a = double.Parse(textBox1.Text);
b = double.Parse(textBox2.Text);result = a + b;
textBox5.Text = result.ToString();
1. Benutze double.TryParse um sicher zu sein das die Eingabe auch valides double ist, sonst macht es Peng, Qualm, Stink
2. Setze korrekte CultureInfo als IFormatProvider, wenn nicht kannst du möglicherweise falsche Werte bekommen im Tausender Bereich.
-
FreakY<3Cpp schrieb:
Wäre es jetzt eine etwas kompliziertere for-Schleife oder sonstiges, würde ich es verstehen, aber was ist an so einer Zeile nicht zu verstehen? Wie PRIEST schon meinte, ist wohl zu hoch für manche. Egal wann man so einen Code wieder lesen wird, sowas sollte man auf alle Fälle verstehen.
Es geht um den Programmierstil und der ist schlicht und einfach Mist.
Würdest Du bei mir im Team arbeiten, würde ich Dich zwei bis dreimal drauf hinweisen, danach könnest Du Deinen Hut nehmen.
Du schreibst bestimmt auch keine Kommentare in Deinen Code.
Wie auch, wenn alles in einer Zeile steht!?Und wirklich Sinn macht Deine Schreibweise auch nicht, weil zwei Zeilen gespart werden, wird das Programm um 10 MB kleiner.
-
Also ich würde auch eher ausführlicheren Code bevorzugen. Aber ich verstehe nicht was das mit Validation zu tun hat. Wenn die Eingabe nicht in eine Zahl gewandelt werden kann würde ich doch selber auch nur werfen, da kann das System es ja selber tun.
-
mogel schrieb:
FreakY<3Cpp schrieb:
Und warum sollte es das tuen?
weil Du ungefragt Benutzereingaben nutzt und somit mutwillig Sicherheitsvorkehrung ignorierst ...
...
Und wenn ich jetzt 20 Zeilen Code mehr schreibe darf ich das ?
In der Aufgabe stand nirgendswo etwas von Sicherheit dieser Art.CSL schrieb:
1. Benutze double.TryParse um sicher zu sein das die Eingabe auch valides double ist, sonst macht es Peng, Qualm, Stink
2. Setze korrekte CultureInfo als IFormatProvider, wenn nicht kannst du möglicherweise falsche Werte bekommen im Tausender Bereich.Convert sollte beides machen, zumindest das 2., da intern Parse aufgerufen wird mit der CultureInfo Überladung.
Doug_HH schrieb:
FreakY<3Cpp schrieb:
Wäre es jetzt eine etwas kompliziertere for-Schleife oder sonstiges, würde ich es verstehen, aber was ist an so einer Zeile nicht zu verstehen? Wie PRIEST schon meinte, ist wohl zu hoch für manche. Egal wann man so einen Code wieder lesen wird, sowas sollte man auf alle Fälle verstehen.
Es geht um den Programmierstil und der ist schlicht und einfach Mist.
Würdest Du bei mir im Team arbeiten, würde ich Dich zwei bis dreimal drauf hinweisen, danach könnest Du Deinen Hut nehmen.
Du schreibst bestimmt auch keine Kommentare in Deinen Code.
Wie auch, wenn alles in einer Zeile steht!?Und wirklich Sinn macht Deine Schreibweise auch nicht, weil zwei Zeilen gespart werden, wird das Programm um 10 MB kleiner.
Das ich einen schlechten Stil habe, hat mir noch niemand gesagt
Dein Code möchte ich erst garnicht sehen, wahrscheinlich stehen bei dir so Zeilen wie
Console. //Hier arbeite ich mit der Klasse Console weil ich mit der Konsole arbeite WriteLine //mit der Funktion, die in der Klasse Console steht, schreibe ich etwas auf die Konsole ( //Jetzt beginnt gleich mein Text "" //mir fällt nichts anderes ein ) //Ende meiner denkreichen Ideen ; //vorbei
Damit auch ja alles übersichtlich und schön ist.
Und Kommentare in mein Code schreibe auch nur, wenn ich davon ausgehen kann, dass mein Code auch später von anderen benutzt wird.
Dein Team? Dürftest du überhaupt eins leiten?
Und 2 Zeilen Code habe ich sicherlich nicht gesparrt, dass waren ersichtlich mehr
Du kannst dich gerne durch 1000 Zeilen Code ochsen, ich mach sowas nicht. Wenn es Sinn macht, etwas in einer Zeile zu schreiben, mach ich das auch. Meinen Code würde man wohl schneller verstehen, als einen Roman, bei dem man scrollen muss. Wenn die Zeile solang ist, dass man dort auch schon wieder scrollen muss, vermeide ich das natürlich auch.Da das aber sowieso so ein Thread ist, bei dem man den anderen von seiner Meinung überzeugen will, schreibe ich dazu jetzt nichts mehr. Ihr könnt gerne nochmal eine Antwort auf diesen Post schreiben