|
| » myCSharp.de Diskussionsforum |
|
|
Autor
 |
|
ZebRa
myCSharp.de-Mitglied
Dabei seit: 15.10.2010
Beiträge: 8
Entwicklungsumgebung: VS 2010 Herkunft: Ulm
Themenstarter
|
|
Danke...
Habs behoben.
Am Anfang hab ich immer mit XXX * XXX die Quadratzahl ausgerechnet.
Bis ich gelesen hab das man da Math.Pow(XXX, 2) benutzen kann.
Hab dann ausversehn Math.Pow(Seitenlänge, 2); gehabt anstatt (Seitenlänge * Seitenhöhe) * 2;
Der Quellcode, kommt gleich.
Edit: Okay, Quellcode + update oben im Dateinanhang.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ZebRa am 17.10.2010 17:36.
|
|
17.10.2010 17:03
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Schlopp
myCSharp.de-Mitglied
Dabei seit: 16.05.2008
Beiträge: 297
Entwicklungsumgebung: Visual Studio 2010 Ultimate Herkunft: Stuttgart, München, Schweiz
|
|
Ok, ich habs mal kurz überflogen und habe ein paar Anmerkungen:
- Du solltest die ganze Berechnung nicht in einer Methode durchführen, sondern die einzelnen Berechnungen, je nachdem welche Werte eingegeben wurden, in eigene Methoden auslagern. Damit verkürzt du dann auch die 255 Zeilen lange Methode erheblich. Prinzipiell kannst du davon ausgehen, dass Methoden, in denen du #region-Elemente brauchst, damit sie halbwegs übersichtlich sind, viel zu lang.
- Der Try-Catch-Block ist für meinen Geschmack etwas arg groß. Entweder du machst mehrere kleine Try-Catch-Blöcke um die einzelnen Konvertierungen, oder du verwendest die statische TryParse-Methode der double-Klasse, dann brauchst du gar keinen Try-Catch-Block mehr (zumindest nicht für das Konvertieren)
- Der Catch-Abschnitt des Try-Catch-Blocks fängt alle Exceptions auf, statt diese explizit zu nennen, beispielsweise die InvalidCastException oder eine DivideByZeroException.
- Die ganzen "" für einen leeren String sollten durch string.Empty ersetzt werden.
- Statt Convert.ToString(Grund); kannst du auch einfach Grund.ToString(); schreiben.
Das wars mal fürs Erste, bei Fragen kannst du dich gerne melden.
|
|
17.10.2010 20:25
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
gfoidl
myCSharp.de-Team (Moderation)
Dabei seit: 07.06.2009
Beiträge: 5.390
Entwicklungsumgebung: VS 201{0,2} sup{Editionen} Herkunft: Waidring / Tirol
|
|
Hallo Schlopp,
| Zitat: |
| Die ganzen "" für einen leeren String sollten durch string.Empty ersetzt werden. |
Abgesehen von der Leserlichkeit nicht notwendig. Der Compiler führt ein "String-Pooling" durch. Siehe auch [FAQ] Besonderheiten der String-Klasse (immutabler Referenztyp mit Wertsemantik)
Hallo ZebRa,
| Zitat: |
| Das mit den Methoden weis ich nicht genau was du meinst. |
Damit ist gemeint dass (zu) lange Methode refactored werden sollen. Schau dir hierzu mal die Kapitel in Refactoring. Ich weiß dass das etwas viel Text sein wird, aber glaub mir dass es sich lohnt ;-)
mfG Gü
|
|
18.10.2010 00:15
|
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
ZebRa
myCSharp.de-Mitglied
Dabei seit: 15.10.2010
Beiträge: 8
Entwicklungsumgebung: VS 2010 Herkunft: Ulm
Themenstarter
|
|
Hab die "" schon durch das genannte ersetzt. : )
Werd ich lesen... auch wenns englisch ist. -.-
Edit:
Habe jetzt mehrere Methoden geschrieben anstatt alles in eine zu stecken, nachdem ich das Kapitel in meinem Buch durchgearbeitet hab.
Als nächstes kommt dann die Fehlerbeahndlung.
Würde mich aber freuen, wenn ihr den Code schonmal anschaut. : )
Und vielleicht den ein oder anderen Tipp für mich habt.
Grüße ZebRa
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ZebRa am 21.10.2010 16:57.
|
|
18.10.2010 16:25
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
|
|