Refaktoryzacja musi być nawykiem, żeby się działa.
Transkrypt
Refaktoryzacja musi być nawykiem, żeby się działa.
Naturalny Porządek Refaktoryzacji ® Java Developer Days 2012 W slajdzie tytułowym szare tło zastąp fajnym zdjęciem lub obrazkiem adekwatnym do szkolenia czy modułu (dwa typowe dla nas slajdy tytułowe znajdziesz dalej) www.bnsit.pl Dlaczego refaktoryzacja jest jak seks? Naturalny Porządek Refaktoryzacji ® www.bnsit.pl Naturalny Porządek Refaktoryzacji ® Refaktoryzacja jest jak seks, ponieważ ... Kończysz dopiero wtedy, gdy już jesteś kompletnie wyczerpany! Jedna pomyłka i jesteś umoczony do końca życia! www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 3 Naturalny Porządek Refaktoryzacji ® Refaktoryzacja jest jak seks, ponieważ ... Więcej się o tym mówi niż robi. Można to robić dla przyjemności lub dla pieniędzy. Przydaje się druga osoba, żeby uzyskać pełną satysfakcję. www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 4 Naturalny Porządek Refaktoryzacji ® Refaktoryzacja jest jak seks, ponieważ ... Początkujący robią wokół tego dużo szumu. Niektórzy w tym obszarze są szczególnie utalentowani, .. ale niektórzy są w tym bardzo kiepscy i obrzucą Cię błotem, jeśli im to wytkniesz. www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 5 Naturalny Porządek Refaktoryzacji ® Refaktoryzacja jest jak seks, ponieważ ... Słabo idzie po pijanemu, ale wtedy masz na to największą ochotę. Będzie Ci tego brakować, jeśli będziesz miał dłuższą przerwę. www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 6 Jak jest (w Polsce)? Naturalny Porządek Refaktoryzacji ® www.bnsit.pl Refaktoryzacja dawniej i dziś Dawniej (>5 lat temu) Mało kto o tym mówił Mało kto to robił Nie było zrozumienia u menedżmentu Dziś Wszędzie się o tym mówi Mało kto to robi „na poważnie” Często menedżment (IT) rozpoznaje to hasło, ale ciągle nie ma przyzwolenia Nie było wiadomo jak to robić z Robi się to nieregularnie. sensem Nie wiadomo jak to robić w dużych odziedziczonych projektach www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 8 Obecnie refaktoryzują w sposób regularny i konsekwentny tylko jednostki – Fascynaci! CZAS TO ZMIENIĆ! www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 9 Mistrzostwo to ćwiczenie podstaw Naturalny Porządek Refaktoryzacji ® www.bnsit.pl Co utrudnia dalsze modyfikacje oprogramowania? wpROWadZAnIe.dozMian!A,!aczkolWIeK !aNazywaNyCH,opROgrAmOWaniA ,iczesto !i!!prOgreSywnyMizwyKLE.poniEkAd,!PIeRWotn a.StrUkturEnarusza.a.!PRoGramU.kUMulaCja,Z mian a.TEN,I !prOcEs!,,i.Tylko,liCzba,nasiLA, ,AcZkoLwiek,powiaZaniIntErakCjI poniEkAD!!roZnymi!ponIekad!,I!pomieDzYMod uLamiw,sYStemiEZWiEkSZasie!.a, co! ,a,utruDniAzRoZUmienIe!!A,!acZKolwiek!I!..go,t akzE!jEgO..modYfikacje..dalsze, www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 13 Co utrudnia dalsze modyfikacje oprogramowania? Wprowadzanie zmian do oprogramowania (nazywanych często progresywnymi) zwykle narusza pierwotną strukturę programu, a kumulacja zmian tylko ten proces nasila. Liczba powiązań i interakcji pomiędzy różnymi modułami w systemie zwiększa się, co utrudnia zrozumienie go, a także jego dalsze modyfikacje. www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 14 Problem leży w pierwszej kolejności w czytelności kodu, a nie w kompetencjach programistów! www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 15 Rozwój - technolgie JSF 2 Struts 2 UI Spring Webflow … JDBC EJB ORM Hibernate ... Spring/JDBC Template iBatis www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 16 Rozwój – narzędzia mentalne Czysty kod Styl Wzorce projektowe Mistrzostwo programowania Refaktoryzacja TDD NOR ... www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 17 Rozwój technologiczny nie daje spełnienia! Rozwój w obszarze narzędzi mentalnych daje pełną satysfakcję! www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 18 Sztuki walki Mistrzostwo osiąga się poprzez ciągłe doskonalenie podstawowych technik. www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 19 Programowanie – podstawowe techniki # # # # # # # www.bnsit.pl Nazwy Nazwy Nazwy Komponowanie metod Pojedyncza odpowiedzialność i kompozycja Wzorce projektowe *Orientacja we wzorcach architektonicznych Naturalny Porządek Refaktoryzacji (R) 20 Programowanie – podstawowe techniki www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 21 To dlaczego refaktoryzacja się nie udaje? www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 22 Dlaczego nie robimy refaktoryzacji? # Bo nie ma na to czasu # Bo biznes się nie chce zgodzić na refaktoryzacje # U nas jest taki burdel, że to nie ma sensu www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 23 Żeby zaczęło się dziać # # # # Musi stać się ważne Musi to być wysiłek zespołowy Trzeba mieć odwagę Musi być lider zmiany Będzie trudno … na szczęście głównie tylko na początku www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 24 Refaktoryzacja musi być nawykiem, żeby się działa. www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 25 Naturalny Porządek Refaktoryzacji ® www.bnsit.pl Krok 0. Zrozum kod www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 27 Krok 1. Wyraź algorytm www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 28 Krok 2. Wydziel odpowiedzialności www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 29 Krok 3. Wprowadź wzorzec projektowy www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 30 Krok 4. Wzbogać architekturę www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 31 Kilka uwag! # To jest model # Duże klasy i duże metody mają kod na różnym poziomie wg NOR # Bardzo rzadko kod jest na poziomie Skomponowanej metody # Kolejne kroki procesu dzieją się odpowiednio rzadziej niż poprzednie www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 32 Kilka uwag! # 85 % twoich refaktoryzacji powinna dotyczyć zmian nazewnictwa, komponowania metod i upraszczania warunków # W większości mogą być one automatyczne # Czasami kroki można zamienić www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 33 Co muszą znać członkowie zespołu? PODSTAWY www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 34 Jak wdrożyć? 1. 2. 3. 4. 5. Przekonaj siebie, że to jest ważne Przekonaj zespół, że to jest ważne Przekonaj kierownika, że to jest ważne Określ plan wdrożenia procesu Znajdź przynajmniej 3 sposoby, jakie zapewnią, że inicjatywa przeżyje trudności lub przekonaj kierownika, żeby zatrudnił nas ;-) www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 35 Pytania ? www.bnsit.pl Naturalny Porządek Refaktoryzacji (R) 36