Wystąpienie przynajmniej jednego przykrego zapachu obniża ocenę o 1 stopień. Wystąpienie dwóch różnych przykrych zapachów obniża ocenę o 2 stopnie. Nie przestrzeganie standardu kodowania oraz/lub błędy w dokumentacji technicznej obniża o 0,5 stopnia. Program z niepełną listą refaktoryzacji może mieć obniżoną ocenę o 1-2 stopnie. Program, który nie działa prawidłowo ma obniżaną ocenę o 0,5 stopnia. Program, którego nie można skompilować nie będzie oceniany. Program bez listy przeprowadzonych metod refaktoryzacji i przypadków testowych nie będzie oceniany.
Obowiązuje standard kodowania Sun Microsystems http://java.sun.com/docs/codeconv/index.html
Obowiązuje język angielski. Pola i zmienne to rzeczowniki, metody to frazy czasownikowe:
private boolean readonly = false;
public void
setReadOnly() { readOnly = true; }
public void setReadWrite() { readOnly =
false; }
Należy unikać następujących nieprawidłowych konstrukcji kodu.
Kod należy opatrzyć komentarzami javadoc'a tak by można było z niego wygenerować dokumentację techniczną. Dokumentacja ma być w języku angielskim. Dokumentacja techniczna musi spełniać poniższe wymagania:
(@author)
(@exception)
(@param)
(@return)
@return
podajcie jakie to są obiekty np. obiekty typu String
Metoda statement
w klasie Customer
zwraca łańcuch znaków
reprezentujący konto klienta wypożyczalni filmów.
W klasie Customer
należy dodać metodę public String htmlStatement()
,
która zwróci łańcuch html reprezentujący statement
klienta wypożyczalni.
Metodę tą należy także wyposażyć w testy.
Format html:
<html><head><title>Rental Record for ${name}</title><body>
<table><thead><tr><td>Title</td><td>Amount</td></tr>
</thead>
<tbody><tr><td>${title}</td><td>${amount}</td></tr>
</tbody></table></body></html>
Nie wolno utworzyć tej metody przez copy - paste programming (duplikaty) :) Należy wyodrębnić
wspólny kod z metody statement
a następnie wykorzystać go ponownie
w htmlStatement
.
W tym celu należy wykorzystać przekształcenia refaktoryzacyjne poznane na wykładzie oraz
Split Loop
Pamiętajcie też o usunięciu przykrych zapachów. Wyjątkiem jest tutaj klasa Movie
,
która ma pozostać Data Class.
Kod: Customer.java, Movie.java,
Rental.java, CustomerTest.java