COde Review
-
Hallo
Ich programmiere gerade privat an einem Programm. Ich möchte nach Abschluss gerne das sich mein Code jemand ansieht, damit ich ein Gefühl dafür bekomme, was ich richtig bzw nicht so gut gemacht habe.Ist das hier ide richtige stelle. und wäre jemand dazu bereit
-
Wie lang ist das denn? Weniger als ~200 Zeilen kannst du hier ins Forum stellen und es gäbe dann sogar gute Chancen, dass viele Leute sich das ansehen. Wenn es deutlich mehr ist, wirst du darauf hoffen müssen, dass jemandem extrem langweilig ist.
-
denke es ist länger. aber ich kann es ja splitten
-
Du könntest den Code einfach mal gepackt hochladen, es werden schon ein paar Leute mal reinschauen; auch wenn es dann nur partielles Feedback ist, hilft es ja.
Aber erschrick nicht, wenn viel Kritik kommt. Ich finde deine Idee aber gut, imo bringt genau das einen wirklich weiter.
-
Vielen Vielen Dank. Es wird noch ja eine Woche dauern, aber dann....
-
Die Kritik wird aber deine Feelings hurten.
-
So hier ist mein Projekt :http://fischkopf2009.fi.funpic.de/TTT_Game.zip
-
Iiiiihh, das ist ja Java (hättest du das nicht vorher schreiben können - jetzt ist mein Rechner verseucht
Deine main-Methode ist aber leer (auskommentiert), oder übersehe ich etwas
public class TTT_Application{ public static void main(String arg[]){ /*TTT_PlayingField field = new TTT_PlayingField(); field.setFieldValue(new Point(0,2),PlayerColor.Player1); field.printField(); System.out.println(); TTT_PlayingField field2 = field.clone(); field2.setFieldValue(new Point(0,0), PlayerColor.Player2); field2.printField(); System.out.println(); field.printField();*/ } }
???
Oder istpublic static TTT_Application app = new TTT_Application();
dein Einstiegspunkt?
Und deine Klasse "TTT_NN_Node" ist viel(!!!) zu groß - das geht deutlich kürzer (z.B. mittels einer Schleife, anstatt den vielen Einzelchecks (left, right, up, down, ...).
Gleiches gilt auch für "TTT_PlayingField"...Und deine "TTT_Game.run()"-Methode mit der "while(true)"-Schleife macht mir Angst (100% Prozessorlast) -)
Jetzt weiß ich wieder, warum ich Java nicht mag
-
Th69 schrieb:
Jetzt weiß ich wieder, warum ich Java nicht mag
Schlechter Stil liegt nicht an Java.
-
- Präfixe für Klassen sind doof
- In TTT_Player: Wenn man Name und Farbe eh nur einmal setzen und dann nicht mehr ändern darf, übergib die beiden Attribute im Konstruktor und mach die Setter weg
- setFieldState aus TTT_PlayingField würde ich umbenennen, schließlich wird da nix gesetzt sondern eher was intern berechnet; diese Methode auch vereinfachen
- TTT_NN_Node ist ein gar schröcklicher Klassenname
- Die einzige Funktion aus TTT_NN_Node ist zu lang. Evtl hast du die Aufgabe von TTT_NN_Node nicht richtig festgelegt?
- Wie schon Vorredner erwähnt ist die Schleife in TTT_Game nicht sehr schickSonst sieht's aber ganz gut aus!
-
Ich möchte mich hier erst mal bedanken. Hätte nicht gedacht, dass ich soviel Antworten bekomme.
Zu der While Schleife :
Sie läuft in einem seperaten Threat und hat die Aufgabe den Spiel - Verlauf zu überwachen. Gibt es eine elegantere Lösung ?
Okay an den Namen der Klasse werde ich noch mal arbeiten.
-
Du solltest wenigstens ein "Thread.Sleep(...)" (oder wie das in Java heißt) einbauen...
(aber warum du dafür einen eigene Thread benötigst, weiß ich nicht - aber wie schon geschrieben, verstehe ich auch dein Design nicht ganz !?)
-
Kannst du mir einen Verbesserung vorschlag geben ? :xmas1:
-
BVei GUI-Krams bietet sich natürlich immer Event-basiertes Arbeiten an. Der User macht 'ne Aktion und du reagierst darauf. Oder du hast (zusätzlich) noch einen Timer, also alle paar Millisekunden wird dein Event ausgelöst.
Muss das in der besagten Schleife denn so hochtüchtig tausende male pro Sekunde ausgeführt werden? Was passiert da genau?