HILFE!! Hausaufgabe/ zahlenrate programm!!

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
lunar

Beitragvon lunar » Montag 12. Januar 2009, 20:31

audax, schickt das mal an http://thedailywtf.com ;)
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Montag 12. Januar 2009, 20:48

Ach, das ist doch von mir, das zählt gar nicht :D
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 12. Januar 2009, 20:52

HerrHagen hat geschrieben:Da kann ich nur noch den armen Programmiersklaven dieser Welt mein Mitgefül aussprechen...

Na dann siehst du auch was Informatikstudenten so sinnvolles lernen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Montag 12. Januar 2009, 20:56

Leonidas hat geschrieben:
HerrHagen hat geschrieben:Da kann ich nur noch den armen Programmiersklaven dieser Welt mein Mitgefül aussprechen...

Na dann siehst du auch was Informatikstudenten so sinnvolles lernen.
Ich wünschte du hättest meine Laboraufgabe in Informatik II gesehen...
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Montag 12. Januar 2009, 21:01

BlackVivi hat geschrieben:
Leonidas hat geschrieben:
HerrHagen hat geschrieben:Da kann ich nur noch den armen Programmiersklaven dieser Welt mein Mitgefül aussprechen...

Na dann siehst du auch was Informatikstudenten so sinnvolles lernen.
Ich wünschte du hättest meine Laboraufgabe in Informatik II gesehen...


Machen wir nen Club auf? :D
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Montag 12. Januar 2009, 21:32

audax hat geschrieben:Ungefähr das ist Enteprise Niveau:
http://paste.pocoo.org/show/99317/
Da ist ja Assembler noch kürzer. :D
MfG
HWK
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 12. Januar 2009, 21:57

HWK hat geschrieben:Da ist ja Assembler noch kürzer. :D

Dafür hat Assembler keine so "tolle" IDE, die die Entwicklung ja sooo angenehm macht. ;)

(Ok, ich habe mir jetzt mal Eclim installiert, mal sehen ob das was bringt)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Montag 12. Januar 2009, 22:05

Eclipse + ViPlugin ist wesentlich besser. Wobei Java halt einfach Müll ist. Die Sprache lässt verdummen :(
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 12. Januar 2009, 22:13

audax hat geschrieben:Eclipse + ViPlugin ist wesentlich besser.

Wieso? Das scheint ja selbst einen Vi zu implementieren, mit Eclim kann ich entweder GVim einbetten oder Eclipse Headless im Hintergrund laufen lassen. Zudem ViPlugin Geld kostet und ein Eclipse-Plugin ist wohl eines der letzten Sachen für die ich Geld ausgeben würde.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Beitragvon lunar » Montag 12. Januar 2009, 22:22

Leonidas, du nutzt doch nicht ernsthaft Eclipse für den Kram an der Uni?
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Montag 12. Januar 2009, 22:37

Leonidas hat geschrieben:
audax hat geschrieben:Eclipse + ViPlugin ist wesentlich besser.

Wieso? Das scheint ja selbst einen Vi zu implementieren, mit Eclim kann ich entweder GVim einbetten oder Eclipse Headless im Hintergrund laufen lassen. Zudem ViPlugin Geld kostet und ein Eclipse-Plugin ist wohl eines der letzten Sachen für die ich Geld ausgeben würde.

Es läuft annehmbar und für den Kram an der Uni lässt man sowieso fast alles generieren...
Mit eclim bin ich einfach nicht warm geworden. :o

@Lunar:
Es bietet sich an. Bei uns zumindest basiert alles auf Eclipse, die Hälfte der Lehre was Java angeht besteht aus Erklärungen zu Eclipse. Und es ist tatsächlich ganz gut für Java. ;)
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Montag 12. Januar 2009, 22:57

Ich find Netbeans wesentlich angenehmer =/

(Wir sind gar nicht OffTopic geworden, oder?)
BlackJack

Beitragvon BlackJack » Montag 12. Januar 2009, 23:32

Wieso Offtopic? Wir sind bei Uni und Sachen, die man da machen muss, also noch ziemlich nahe an "Hausaufgaben" dran, und audax' schickes "Zahlenraten" in Java ist auch nur ein paar Beiträge her. Alles im grünen Bereich. ;-)
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Montag 12. Januar 2009, 23:47

Cobol kann nicht annähernd so weit entfernt vom Problem sein wie mein Java-Lösung :D
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Dienstag 13. Januar 2009, 09:53

audax, deine Java-Lösung ist schon nicht schlecht, hat aber noch ein paar Probleme.

Das "new Random()" ist nicht nur schlecht testbar, sondern führt in schneller Folge aufgerufen auch immer zu der selben Zahl. Erzeuge daher nur einmal ein Random-Objekt und benutze dieses wiederholt. Dies ist ein idealer Fall, wo man Dependency Injection, z.B. mittels Spring oder Guice einsetzen kann. Da Random aber kein Interface sondern eine konkrete Klasse ist, musst du das zuvor allerdings noch abstrahieren. Dependency Injection kann auch bei der Factory-Methode helfen.

Die Ausgabe in "showResponse" sollte internationalisierbar sein. Ein ResourceBundle und ein MessageFormat ist nicht viel schwieriger einzusetzen als der jetzige Code. Dafür ist das "this" in dieser Zeile eher ungewöhnlich und entweder du benutzt überall "this" oder nirgends, wo es um Felder und Methoden der selben Klasse geht.

Dein "Trick", die einzelnen Nachrichten mit "%s" zusammenzusetzen und so ein bisschen Code zu sparen, ist unter Umständen nicht internationalisierbar, da es dort in jedem der Fälle anderer Formulierungen bedarf. Daher schlage ich vor, das anders zu lösen. Ein bisschen Redundanz bei den Texten ist in diesem Fall nicht schlimm.

Mache Klassen wie Guesser, die nicht zur Vererbung vorgesehen sind, final.

Statt einem "int" in GuessResponseFactory sollte ab Java 5 ein "enum" benutzt werden.

Bitte mache den String ERROR final. Das ist eine Konstante. Bei "bufRead" hättest du wirklich noch das "er" spendieren können. Namen sollten nicht unnötig gekürzt werden. Und mache auch diese Variable final. Das ist guter Stil.

Du fängst nicht die mögliche Exception bei parseInt ab. Das solltest du nachholen.

Mit fällt auf, dass "showResponse" stdout fest verdrahtet hat. Das ist nicht gut und dies in die Methode hineinzureichen wäre eine sinnvolle Abstraktion.

Deine Vorliebe für "do/while" statt eines einfachen "while" kann ich nicht nachvollziehen, aber das ist persönlicher Geschmack.

Ach ja, und wo ist die Javadoc-Dokumentation für alle Klassen und Methoden?

Stefan ;)

PS: Auch wenn das scherzhaft gemeint ist, sind das alles Punkte, die ich einem Kollegen in einem Code-Review von echtem Java-Code in einem größeren Projekt anmerken würde.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]