Paint cz4

Podsumowanie trzech części Część pierwsza Część druga Część trzecia Zadaniem była zmiana kodu w aplikacji stworzonej kilka lat temu, zmiana pod kątem dobrych praktyk i czystego kodu. Refaktoryzacja ta dotarła do pewnego etapu, nie które rzeczy zostały zmienione ale dość sporo można by jeszcze uprościć. Po za tym jest tu Więcej…

Paint cz3

W poprzedniej części,  zostały zdefiniowane klasy abstrakcyjne służące za stworzenie narzędzi do użycia na płótnie. W tej części skupie się nad stworzeniem i implementacją konkretnego narzędzia. Za przykład posłuży klasa FullEllipse, która dziedziczy po klasie ABrushType

Wyjaśnienie Klasa FullEllipse ma za zadanie stworzyć konkretne narzędzie w tym przypadku pełną Więcej…

Paint cz2

W części pierwszej opisałem ogólne zasady jakimi staram się posługiwać przy refaktoryzacji. Z redukowałem kod odpowiedzialny za wybór aktywnego (ostatniego) narzędzia. W tej części postanowiłem, że skupie się na ostatecznym wyborze narzędzia i jego zastosowaniu na płótnie. Poniżej kod oryginalny

Część kodu czyli wybór narzędzia została poddana zmianą w Więcej…

Paint cz1

Ten post jest pierwszą częścią tematu poświęconego pracy z „czystym kodem”. Przykładem jest moja aplikacja Paint (do rysowania) stworzona klika lat temu. Kod tej aplikacji jest bardzo legacy, ale działa. Przypadkiem wpadłem na tę projekt, uznałem, że zasługuje na to aby został poprawiony. Ja w ten sposób poćwiczę „dobre praktyki” Więcej…

DI -Maraton cz1 (method parameters)

Dependency injection – poprzez parametr metody W tej części przykład wstrzyknięcia poprzez parametr metody. Kod przykładowy z aplikacji do obsługi maratonu rowerowego. Są to fragmenty większej całości. Wyjaśnienie do kodu: Klasa SimpleAddingParticipant służy do uproszczonego dodania nowego zawodnika, minimalna wymagana ilość informacji tj imię, nazwisko, email i dystans. W bazie Więcej…

DI – maraton cz1 (class properties)

Dependency injection – poprzez właściwość klasy Tego typu wstrzyknięcia nie używam zazwyczaj w kodzie, wydaje mi się że najlepsze, tj najłatwiejsze w implementacji i zrozumieniu, jest wstrzyknięcie poprzez konstruktor. Opis wstrzykiwania zależności bez tej metody nie był by pełny. Wyjaśnienie kodu: Klasa SimpleAddingParticipant wykorzystuję metody z trzech interfejsów: INewRecord – Więcej…

Unit Test – Maraton cz2

W drugiej części kontynuacja testów,  tym razem klasa odpowiedzialna za dodanie nowego zawodnika z niepełną ilością pól, funkcjonalność dostępna w biurze zawodów. Każdy kto przyjdzie się zapisać będzie podawał do systemu minimalną wymaganą ilość danych, reszta ląduje w oświadczeniu na papierze. Kryterium akceptacji Test sprawdzający dodanie do bazy, Test sprawdzający Więcej…