Zpo-10-lab

From Studia Informatyczne

Spis treści

Ćwiczenie 10. Refaktoryzacja prostego programu w języku Java

Informacje wstępne

Ćwiczenie jest realizowane w języku Java w środowisku Eclipse 3.2. Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z artykułem nt. refaktoryzacji w Eclipse IDE] Celem ćwiczenia jest wykonanie przekształceń refaktoryzacyjnych wybranych fragmentów kodu znajdujących się w załączonym projekcie

Instalacja

Przygotowanie do ćwiczenia polega na zainstalowaniu JDK 5.0 [1] oraz środowiska Eclipse [2] w wersji 3.2 Po uruchomieniu środowiska należy zaimportować (menu File->Import->Existing projects into workspace) projekt Konwerter.

Zadanie 1

Oceń jakość programu Konwerter. Wskaż naruszenia zasad projektowych (tzw. przykre zapachy), które są w nim obecne. Zaproponuj przekształcenia, które pozwolą je usunąć.

Zadanie 2

Zaproponuj łańcuch przekształceń refaktoryzacyjnych pozwalający przekształcić program Konwerter do postaci, w której:

  • każda konwersja będzie niezależną klasą, implementującą wspólny interfejs, o nazwie np. Konwersja
  • każda konwersja jest dwukierunkowa
  • dla każdej rodziny wielkości (np. dotyczących długości, objętości lub powierzchni) istnieje jedna, wyróżniona wielkość, nazywana wielkością znormalizowaną. Każda konwersja umożliwia przeliczenie podanej wartości do wielkości znormalizowanej (np. jeżeli dla długości wielkością taką jest metr, wówczas klasa konwertująca jardy będzie przeliczała je na metry, a dopiero w dalszej kolejności na żądaną jednostkę wyjściową, np. cale).
  • dodanie nowej jednostki wymaga jedynie zdefiniowania nowej klasy i dodania jej instancji do listy dostępnych konwersji