Th69 - Fr 11.05.12 19:35
Hallo,
interessierter hat folgendes geschrieben: |
Vielleicht hat ja jemand Stichworte dazu, wie man den Code mit viel weniger Zeilen hinbekommen hätte |
Methoden (bzw. oftmals auch Funktionen genannt)!
Zwei bewährte "Methoden" (ich hoffe, du verstehst den Wortwitz ;-)) der Programmierung sind
KISS-Prinzip [
http://de.wikipedia.org/wiki/KISS-Prinzip] und
DRY [
http://de.wikipedia.org/wiki/Don%27t_repeat_yourself].
Vermeide Wiederholungen in deinem Code, sondern extrahiere diese zu einer Methode und verwende passende Parameter.
Bezogen auf deinen Code wäre dies z.B. der große if-Block sowie die Ausgabe - erzeuge dir dafür passend benannte Methoden und rufe diese dann mit den entsprechenden Parametern (z.B. WinkelAlpha, WinkelBeta, WinkelGamma, SeiteA, ...) auf.
Das
EVA-Prinzip [
http://de.wikipedia.org/wiki/EVA-Prinzip] hast du ja schon generell in deinem Programm drin, nur solltest du dieses auch klarer trennen (auch hier am besten eigene Methoden dafür definieren).
Am besten sogar eine eigene Klasse, welche nur für die Berechnungen zuständig ist.
Dann ist mir noch aufgefallen, daß du zwar schon die Methode
askForFloat definiert und verwendet hast, jedoch nicht durchgängig. Probiere mal bei den Abfragen für die Werte (z.B. "Seite a") einen Buchstaben einzugeben (anstatt einer Zahl).
Und auch für die Umrechnung Bogen- nach Grad (RadToDeg) und umgekehrt (DegToRad) solltest du eine Methode verwenden.
Du siehst, da kann man noch viel optimieren...