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)
Dlaczego refaktoryzacja jest jak seks? Naturalny Porządek Refaktoryzacji
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! 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ę. 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. 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ę. Naturalny Porządek Refaktoryzacji (R) 6
Jak jest (w Polsce)? Naturalny Porządek Refaktoryzacji
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 Nie było wiadomo jak to robić z sensem 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 Robi się to nieregularnie. Nie wiadomo jak to robić w dużych odziedziczonych projektach Naturalny Porządek Refaktoryzacji (R) 8
Obecnie refaktoryzują w sposób regularny i konsekwentny tylko jednostki Fascynaci! CZAS TO ZMIENIĆ! Naturalny Porządek Refaktoryzacji (R) 9
Mistrzostwo to ćwiczenie podstaw Naturalny Porządek Refaktoryzacji
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, 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. Naturalny Porządek Refaktoryzacji (R) 14
Problem leży w pierwszej kolejności w czytelności kodu, a nie w kompetencjach programistów! Naturalny Porządek Refaktoryzacji (R) 15
Rozwój - technolgie JSF 2 UI Struts 2 Spring Webflow JDBC EJB ORM... Hibernate Spring/JDBC Template ibatis Naturalny Porządek Refaktoryzacji (R) 16
Rozwój narzędzia mentalne Czysty kod Styl Wzorce projektowe Mistrzostwo programowania Refaktoryzacja TDD NOR... Naturalny Porządek Refaktoryzacji (R) 17
Rozwój technologiczny nie daje spełnienia! Rozwój w obszarze narzędzi mentalnych daje pełną satysfakcję! Naturalny Porządek Refaktoryzacji (R) 18
Sztuki walki Mistrzostwo osiąga się poprzez ciągłe doskonalenie podstawowych technik. Naturalny Porządek Refaktoryzacji (R) 19
Programowanie podstawowe techniki # Nazwy # Nazwy # Nazwy # Komponowanie metod # Pojedyncza odpowiedzialność i kompozycja # Wzorce projektowe # *Orientacja we wzorcach architektonicznych Naturalny Porządek Refaktoryzacji (R) 20
Programowanie podstawowe techniki Naturalny Porządek Refaktoryzacji (R) 21
To dlaczego refaktoryzacja się nie udaje? 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 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 Naturalny Porządek Refaktoryzacji (R) 24
Refaktoryzacja musi być nawykiem, żeby się działa. Naturalny Porządek Refaktoryzacji (R) 25
Naturalny Porządek Refaktoryzacji
Krok 0. Zrozum kod Naturalny Porządek Refaktoryzacji (R) 27
Krok 1. Wyraź algorytm Naturalny Porządek Refaktoryzacji (R) 28
Krok 2. Wydziel odpowiedzialności Naturalny Porządek Refaktoryzacji (R) 29
Krok 3. Wprowadź wzorzec projektowy Naturalny Porządek Refaktoryzacji (R) 30
Krok 4. Wzbogać architekturę 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 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ć Naturalny Porządek Refaktoryzacji (R) 33
Co muszą znać członkowie zespołu? PODSTAWY Naturalny Porządek Refaktoryzacji (R) 34
Jak wdrożyć? 1. Przekonaj siebie, że to jest ważne 2. Przekonaj zespół, że to jest ważne 3. Przekonaj kierownika, że to jest ważne 4. Określ plan wdrożenia procesu 5. Znajdź przynajmniej 3 sposoby, jakie zapewnią, że inicjatywa przeżyje trudności lub przekonaj kierownika, żeby zatrudnił nas ;-) Naturalny Porządek Refaktoryzacji (R) 35
Pytania? Naturalny Porządek Refaktoryzacji (R) 36