Skip to content

LegendarySolutions/LegendaryPaymentServlet

Repository files navigation

Legendary Payment Servlet

Projekt szkoleniowy do trenowania technik pracy z odziedziczonym kodem

"Legendary Payment Servlet" rozwijany przez lata w firmie projekt do integracji wewnętrznych systemów z bramką płatności. Kod, który w podobnej postaci można prawdpopodobnie spotkać w bardzo wielu istniejących firmach. Celem warsztatu jest przećwiczenie pracy z odziedziczonym kodem w oparciu o algorytmem postępowania opisany w książce Micheal'a Feathersa "Working Effectively with Legacy Code".

Zadaniem uczestnika jest zaimplementowanie kilku prostych ficzerów starając się postępować zgodnie z algorytmem:

  1. Zidentyfikuj miejsce zmiany,
  2. Znajdź najodpowiedniejsze miejsca do przetestowania,
  3. Rozbij zależności, jeżeli to konieczne,
  4. Napisz testy (na dotychczasową i nową funkcjonalność),
  5. Dokonaj zmiany i zrefaktoryzuj.

Wymagania

Projekt wymaga zainstalowanego lokalnie Java SDK najlepiej w wersji 8.

Budowa projektu

Projekt jest budowany z wykorzystaniem narzędzia Gradle, jednak dzięki zastosowaniu wrappera nie jest konieczna jego wcześniejsza instalacja.

Linia poleceń

Proste zbudowanie i wykonanie testów:

Linux/Unix:

./gradlew check

Windows:

gradlew.bat check

Import do IDE

IntelliJ Idea

Import do IntelliJ Idea 13+: File -> Import Project. i wskazać plik build.gradle.

Uwaga. W przypadku korzystania z Idei w wariancie bezpłatnym (Community Edition) zalecana jest wersja 14 posiadająca wbudowane narzędzie do badania pokrycia kodu (w Idei 13 była ta funkcja dostępna była tylko w wersji Ultimate).

Eclipse

Import do Eclipse:

./gradlew eclipse

(na platformie Windows można 2 razy kliknąć gradlew-eclipse.bat)

i potem File -> Import -> Existing Project Into Workspace

Uwaga. Ze względu na wykorzystanie Java 8 zalecaną wersją Eclipsa jest minimum Luna (4.4).

Konfiguracja IDE

Zalecana konfiguracja IDE (Idea i Eclipse) została opisana w pliku IDE.md

O projekcie

Strona projektu: https://github.com/LegendarySolutions/LegendaryPaymentServlet

Autorzy:

Releases

No releases published

Packages

No packages published