Entwickler-Ecke

Basistechnologien - Dreiecksberechnung von A bis Z :)


interessierter - Fr 11.05.12 18:30
Titel: Dreiecksberechnung von A bis Z :)


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...


interessierter - Sa 12.05.12 18:15

Danke viel mal, ich mach mich gleich mal ans optimieren

Grüsse
interessierter


interessierter - So 13.05.12 00:54