Skip to content

Latest commit

 

History

History
 
 

exercise1

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Übung 1

Ein neuer Job auf der Mother Base

Nachdem Sie erfolgreich das erste Semester hinter sich gebracht haben, sind Sie auf der Suche nach einem Nebenjob, um Ihr Studium (und vor allem Ihre Club-Besuche am Wochenende) zu finanzieren. Ihre Ansprüche sind hoch: Sie wollen zum einen gutes Geld verdienen, zum anderen wollen Sie aber auch Dinge für Ihr Studium lernen.

Von einem Kommilitonen bekommen Sie den Tipp, dass es mitten im Meer eine alte Ölbohrplattform gibt, auf der eine Organisation namens Carbon-Hounds ihre Basis eingerichtet hat. Die Bewohner nennen die Plattform liebevoll die "Mother Base". Da die Mitglieder der Organisation keine Ahnung von Softwareentwicklung haben, sucht man dort noch dringend nach talentierten Programmierern wie Sie es sind. Sie vertragen allerdings das Klima auf See nicht und wollen nicht auf die Mother Base umziehen. Zum Glück gibt es eine Lösung: Sie dürfen in den Laborräumen der Hochschule arbeiten und die Dateien über GitHub mit den Carbon-Hounds austauschen.

Geschossbahnberechnung für die Carbon-Hounds

Ihr Eindruck von den Carbon-Hounds trügt Sie nicht: Es handelt sich um eine Gruppe von Söldnern, die schmutzigen Aufträge in verschiedenen Winkeln der Welt nachgehen. Daher wird Ihre erste Aufgabe die Entwicklung einer kleinen Komponente für eine Software zur Berechnung von Geschossbahnen sein. Diese ist die Klasse Polynom, mit der sich bestimmte mathematische Funktionen darstellen lassen.

Im Versionsverwaltungssystem der Carbon-Hounds finden Sie bereits einige Artefakte vor, die von Ihrem Vorgänger erstellt wurden - niemand will Ihnen sagen, was aus ihm geworden ist und sie denken auch lieber nicht darüber nach. Leider fehlt aus unerklärlichen Gründen die Klasse Polynom aber zumindest die JavaDoc und die Tests sind noch vorhanden.

Von der Klasse Polynom gibt es nur ein unbrauchbares Fragment. Das ebenfalls in der Versionsverwaltung abgelegt ist.

Ihre Aufgabe besteht nun darin, die Klasse Polynom zu programmieren. Die vorhandene JavaDoc kann Ihnen hierbei wichtige Informationen geben. Schauen Sie sich also die JavaDoc und die Tests gut an und entwickeln Sie eine Klasse, die zu beiden passt.

Sorgen Sie dafür, dass die vorhandenen Tests mit Ihrer Implementierung problemlos laufen. Die Tests müssen funktionieren. Andernfalls droht Ihnen der Besuch eines Helikopters der Carbon-Hounds, mit den bekannten Folgen...

Die Lösung muss in das Ihnen zugeordnete GitHub-Projekt eingecheckt werden.

Vorgehen

  1. Clonen Sie das Ihnen zugewiesene Repository auf Ihren Rechner.
  2. Legen Sie einen Ordner für jede Aufgabe an, z.B. exercise1 für diese.
  3. Kopieren Sie die JavaDoc, Tests und Reste der Klasse Polynom in Ihr Verzeichnis. (Bitte clonen oder forken Sie nicht das Repository tpe-exercises, weil Sie dann später Probleme mit den weiteren Aufgaben bekommen.)
  4. Entwickeln Sie Ihre Lösung und checken Sie diese wieder auf GitHub ein.

Hinweise

  • Verwenden Sie GitHub, um Ihre Quelltexte zu verwalten.
  • Arbeiten Sie in den Ihnen zugewiesenen Projekt.
  • Committen Sie häufig und nicht nur wenn Sie das Programm fertig gestellt haben. Jeder lauffähige Stand kann committed und eingecheckt werden.
  • Speichern Sie alle Textdateien im Format UTF-8. (Eclipse-Einstellungen -> General -> Workspace -> Text file encoding -> Other: UTF-8).
  • Benennen Sie Klassen und Methoden konsistent und verständlich. Klassen sollten Nomen als Namen, Methoden Verben haben.
  • Dokumentieren Sie alle Klassen, Interfaces, Konstruktoren und Methoden mit JavaDoc. Dokumentieren Sie auch alle Parameter, Rückgabewerte und Ausnahmen.
  • Formatieren Sie Ihren Code konsistent. Ein guter Standard sind 4 Spaces Einrückung pro Ebene ohne Verwendung von Tabulatoren.
  • Halten Sie sich an die Sun Java-Code-Convention
  • Programmieren Sie defensiv und testen Sie Eingabewerte auf deren Gültigkeit. Ihr Programm darf auch mit Daten nicht abstürzen, die außerhalb der Aufgabenstellung liegen.
  • Machen Sie keine Konsoleneingaben oder -Ausgaben, es sei denn die Aufgabe fordert dies explizit.
  • Halten Sie Daten und Methoden zusammen. Trennen Sie diese nicht unnötig auf.
  • Kopieren Sie keinen Code sondern versuchen Sie mit den bekannten Mitteln der Objektorientierung Code-Duplikate zu vermeiden.