1 / 12

Refaktoryzacja

Refaktoryzacja. Robert Pająk. Plan. Wprowadzenie Demo Podsumowanie, czyli trochę teorii. Definicja.

camdyn
Download Presentation

Refaktoryzacja

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Refaktoryzacja Robert Pająk

  2. Plan • Wprowadzenie • Demo • Podsumowanie, czyli trochę teorii

  3. Definicja Refaktoryzacja - zmiana wewnętrznej struktury oprogramowania, sprawiająca, że kod staje się łatwiejszy do zrozumienia i tańszy w utrzymaniu. Zmiana ta nie wpływa na obserwowalne zachowanie programu. Refaktoryzacja to sprzątanie

  4. Czym powinna być refaktoryzacja • Ta sama funkcjonalność • Lepsza struktura Ryzyka (przy złej refaktoryzacji): • Wprowadzenie trudno wykrywalnych błędów • Można się zapędzić i utknąć w czarnej dziurze • Strata czasu

  5. DEMO Case: Wypożyczalnia filmów

  6. Case: Wypożyczalnia filmów (1/2) Przed zmianą Po ekstrakcji metod

  7. Case: Wypożyczalnia filmów (2/2) Przed zmianą Po dodaniu funkcjonalności

  8. Dlaczego refaktoryzacja jest ważna • Ulepszenie projektu • Poprawa czytelność • Identyfikacja błędów • Przyspieszenie programowania • Ułatwia wprowadzanie kolejnych zmian

  9. Jak refaktoryzować • Metafora 2 kapeluszy • Solidny pakiet samosprawdzalnych testów • Krokowo (testowanie -> mała zmiana) • Zgodnie z zasadami OOAD(np. SOLID) • Wykorzystanie wzorców projektowych • „Czyszczenie” kodu

  10. Kiedy refaktoryzować • Zasada do trzech razy sztuka • Przed dodaniem nowej funkcjonalności • Po wykryciu błędu • Podczas inspekcji kodu (ang. codereview) • Projektowanie a Refaktoryzacja • Wydajność a Refaktoryzacja

  11. Literatura • http://martinfowler.com/refactoring/ • „Refaktoryzacja. Ulepszanie struktury istniejącego kodu”, Martin Fowler, Kent Beck… • „Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów. Wydanie II”, Steve McConnell • „Czysty kod. Podręcznik dobrego programisty”, Robert C. Martin • „Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku”, GoF • „UML i wzorce projektowe. Analiza i projektowanie obiektowe oraz iteracyjny model wytwarzania aplikacji. Wydanie III”, Craig Larman

  12. Pytania? robert.pajak@hotmail.com

More Related