Rozwój oprogramowania z wykorzystaniem refaktoryzacji
Czas trwania szkolenia:2 dni (16h)
Kod kursu:REFAKT/ADV
Poziom zaawansowania:
O szkoleniu Rozwój oprogramowania z wykorzystaniem refaktoryzacji
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Wymagania
- Uczestnik szkolenia powinien mieć podstawowe doświadczenie w programowaniu obiektowym (preferowanym językiem jest Java), testowaniu oraz refaktoryzacji
Zalety
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Znajomość technik pozwalających na identyfikację problemów, które występują w kodzie
- Umiejętność doboru odpowiedniej strategii refaktoryzacji do problemu
- Umiejętność refaktoryzacji kodu nieprzetestowanego
- Pisanie wysokiej jakości testów
Program
Wprowadzenie
- Rozwój a tworzenie aplikacji
- Legacy Code a Technical Debt
Prewencja
- Fast feedback
- Podejmowanie decyzji i odsuwanie ich w czasie
- Akceptacja jako sposób na radzenie sobie z problemami, których nie rozwiążesz
- Czy można uniknąć degradacji jakości kodu?
- Projektowanie aplikacji jako sposób na kontrolę degradacji jakości
- Prewencja ważniejsza niż leczenie
Testowanie, a bezpieczeństwo
- Piramida testów
- Test Double Patterns
- Jak mierzenie pokrycia kodu może pomóc, a jak zaszkodzić?
Refaktoryzacja
- Kiedy refaktoryzacja ma sens?
- Niebezpieczeństwa refaktoryzacji
- Refaktoryzacja, a testowanie
- Jak rozpocząć refaktoryzację?
- Małe refaktoryzacje obarczone niewielkim ryzykiem
- Poprawa jakości poprzez zmianę designu
- Refaktoryzacje do wzorców
- Jak odzyskać wiedzę domenową?
Dodawanie nowej funkcjonalności
- Eliminacja zdegradowanego kodu, a Strangler pattern
- Jak się przygotować?
- Proof of Concept jako sposób na rozpoznanie problemu
- Minimalizowanie ryzyka wynikającego z potencjalnych błędów