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