Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

4Developers 2015: Legacy Code, szkoła przetrwania - Katarzyna Żmuda

240 views

Published on

YouTube: https://www.youtube.com/watch?v=H5tz0Tv7Mys&list=PLnKL6-WWWE_WNYmP_P5x2SfzJ7jeJNzfp&index=29

Katarzyna Żmuda

Language: Polish

Jak pracować z kodem, który zastaliśmy? Jak nie dać się pokusie dopisania kolejnego IF-a, skoro przez tyle lat wszyscy dopisywali i przecież działało? Jak z kolei nie ulec chęci napisania wszystkiego od nowa?
Podczas prezentacji pokażę problemy, na które natykamy się podczas pracy z legacy code oraz sposoby na to, aby praca ta stawała się coraz łatwiejsza i przyjemniejsza.
Przykłady kodu będą napisane w C#.

Published in: Software
  • Be the first to comment

4Developers 2015: Legacy Code, szkoła przetrwania - Katarzyna Żmuda

  1. 1. Legacy Code – szkoła przetrwania Katarzyna Żmuda
  2. 2. Literatura
  3. 3. Legacy code
  4. 4. Co to jest? ● Kod, który „odziedziczyliśmy” ● Kod, którego nikt nie rozumie ● Kod obciążony długiem technicznym ● Kod bez testów ● Kod, który działa
  5. 5. Przestań pisać legacy code !! ● Testuj nowy kod ● Pisz kod łatwy do zmiany ● Dodawaj testy do kodu, który zmieniasz ● Napisz testy do kodu, który zmieniłeś
  6. 6. Wprowadzanie zmian ● Edytuj i módl się ● Kryj i modyfikuj PARAGRAF 22
  7. 7. Testy charakteryzacyjne ● Użyj klasy lub metody w teście ● Napisz błędną asercję ● Dowiedz się, jakie jest zachowanie ● Spodziewaj się wartości z poprzedniego punktu ● Powtórz
  8. 8. Testy charakteryzacyjne
  9. 9. Testy charakteryzacyjne
  10. 10. Testy charakteryzacyjne
  11. 11. Wprowadzanie zmian ● Edytuj i módl się ● Kryj i modyfikuj – Dostosuj do testów – Dostosuj do rozszerzalności – Rozszerzaj
  12. 12. Techniki usuwania zależności ● Parametryzacja konstruktora/metody ● Wyodrębnienie interfejsu ● Adaptacja parametru ● Wyodrębnienie metody wytwórczej
  13. 13. Parametryzacja konstruktora - łamanie ukrytej zależności
  14. 14. Parametryzacja konstruktora - łamanie ukrytej zależności
  15. 15. Parametryzacja konstruktora - łamanie ukrytej zależności
  16. 16. Wyodrębnienie interfejsu
  17. 17. Wyodrębnienie interfejsu
  18. 18. Wyodrębnienie interfejsu
  19. 19. Wyodrębnienie interfejsu
  20. 20. Adaptacja parametru
  21. 21. Adaptacja parametru
  22. 22. Adaptacja parametru
  23. 23. Adaptacja parametru
  24. 24. Wyodrębnienie metody wytwórczej
  25. 25. Wyodrębnienie metody wytwórczej
  26. 26. DEMO

×