Zpo-8-wyk, Magisterka, Modelowanie i analiza systemów informatycznych 1

Poza tym na świecie jest niewiele istot groźniejszych od kobiety.

Bartosz Walter
Zaawansowane projektowanie obiektowe
Wprowadzenie do refaktoryzacji
Prowadzący:
Bartosz Walter
Wprowadzenie do refaktoryzacji
1
Bartosz Walter
Zaawansowane projektowanie obiektowe
Motto
„Nawetidiotapotrafinapisaćkodzrozumiałydlakomputera.
Prawdziwiprogramiścitworząkodzrozumiałydlaludzi.”
MartinFowler
Wprowadzenie do refaktoryzacji (2)
Mottem wykładu są słowa autora popularnej ksiąŜki dotyczącej
refaktoryzacji, M. Fowlera. Słowa te są szczególnie waŜne w kontekście
tzw. metodyk zwinnych (ang.
agile methodologies
), promujących
wyŜszość zrozumiałego kodu nad dokumentacją (szczegóły dotyczące
wartości głoszonych przez metodyki zwinne moŜna znaleźć pod adresem
http://agilemanifesto.org). Kładą one nacisk na okresową restrukturyzację
kodu w celu poprawienia jego czytelności. Refaktoryzacja jest jedną z
podstawowych praktyk Programowania Ekstremalnego, najpopularniejszej
spośród tych metodyk.
Wprowadzenie do refaktoryzacji
2
Bartosz Walter
Zaawansowane projektowanie obiektowe
Plan wykładu

Wprowadzenie

Koszt refaktoryzacji

Poprawność i jej weryfikacja

Przykre zapachy w kodzie programu

Metody identyfikacji przykrych zapachów
Wprowadzenie do refaktoryzacji (3)
Wykład ten jest wprowadzeniem i stanowi pierwszy z czterech
poświęconych refaktoryzacji. Omówione będą rozmaite definicje
refaktoryzacji, czynniki wypływające na koszt jej stosowania oraz problem
poprawności przekształceń i jej weryfikacji. Większą część wykładu zajmie
omówienie zagadnienia tzw. przykrych zapachów w kodzie programu, ich
rodzajów oraz metod identyfikacji.
Wprowadzenie do refaktoryzacji
3
Bartosz Walter
Zaawansowane projektowanie obiektowe
Plan wykładu
Wprowadzenie
Wprowadzenie do refaktoryzacji (4)
Wykład rozpoczniemy od wprowadzenia, które przybliŜy motywację
stosowania refaktoryzacji, jej ekonomikę oraz ogólne załoŜenia.
Wprowadzenie do refaktoryzacji
4
Bartosz Walter
Zaawansowane projektowanie obiektowe
Motywacja

Wysoki koszt pielęgnacji oprogramowania

Yourdon: do 80% kosztu uŜytkowania

Boehm: wytworzenie linii kodu: $30, pielęgnacja:
$4000

Naturalny wzrost złoŜoności i entropii
oprogramowania

Prawa Lehmana: konieczna ciągła restrukturyzacja
Wprowadzenie do refaktoryzacji (5)
Refaktoryzacja jest jedną z technik pielęgnacji oprogramowania.
Jak wskazują badania, pielęgnacja pochłania nawet do 80% całkowitych
kosztów związanych z oprogramowaniem. Znamienny jest teŜ przykład
podany przez Boehma: stworzenie linii kodu w oprogramowaniu dla
Boeinga kosztowało ponad stukrotnie mniej niŜ jej pielęgnacja do końca
Ŝycia produktu.
Ta i podobna obserwacje posłuŜyły M. Lehmanowi do sformułowania praw
dotyczących ewolucji oprogramowania. Mówią one, Ŝe oprogramowanie w
trakcie ewolucji staje się coraz bardziej złoŜone, a jego struktura w coraz
mniejszym stopniu odpowiada wymaganiom. Jedynym sposobem
przeciwdziałania temu zjawisku jest ciągła restrukturyzacja, która
przywraca pierwotną prostotę projektu.
Wprowadzenie do refaktoryzacji
5
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kachorra.htw.pl