Zpo-8-wyk-Slajd31: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Long Method== | ||
[[Image:zpo-8-wyk-Slajd31.PNG| | [[Image:zpo-8-wyk-Slajd31.PNG|Long Method]] | ||
Kolejnym często spotykanym problemem w kodzie są długie metody. Istotna nie jest jednak bezwzględna długość (jest ona tylko objawem), a liczba funkcji, jakie metoda realizuje. Przyczyn jest wiele – jedną z nich jest niewłaściwy podział aplikacji na warstwy funkcjonalne i brak wsparcia ze strony metod w niższych warstwach. Wówczas długa metoda sama realizuje funkcje, które powinny być dostarczone przez inną warstwę aplikacji. | |||
Podobnie jak w przypadku duplikatów, podstawową metodą usuwania tego problemu jest wyłączanie kodu do nowych metod. Jednak nie zawsze jest to możliwe – podział często jest blokowany przez zależności między zmiennymi lokalnymi w metodzie. Wówczas można zamienić je w metody, co pozwala zmniejszyć liczbę powiązań między nimi. Jeżeli to niemożliwe, warto zamienić metodę w nową klasę, zmieniając parametry metody w pola klasy. | |||
Ponieważ długie metody posiadają często długie listy parametrów, warto również usunąć ten problem za pomocą łączenia ich we wspólne klasy. | |||
[[zpo-8-wyk-Slajd30 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd32 | Następny slajd >>]] | [[zpo-8-wyk-Slajd30 | << Poprzedni slajd]] | [[zpo-8-wyk-toc|Spis treści ]] | [[zpo-8-wyk-Slajd32 | Następny slajd >>]] |
Aktualna wersja na dzień 18:14, 4 lis 2006
Long Method
Kolejnym często spotykanym problemem w kodzie są długie metody. Istotna nie jest jednak bezwzględna długość (jest ona tylko objawem), a liczba funkcji, jakie metoda realizuje. Przyczyn jest wiele – jedną z nich jest niewłaściwy podział aplikacji na warstwy funkcjonalne i brak wsparcia ze strony metod w niższych warstwach. Wówczas długa metoda sama realizuje funkcje, które powinny być dostarczone przez inną warstwę aplikacji.
Podobnie jak w przypadku duplikatów, podstawową metodą usuwania tego problemu jest wyłączanie kodu do nowych metod. Jednak nie zawsze jest to możliwe – podział często jest blokowany przez zależności między zmiennymi lokalnymi w metodzie. Wówczas można zamienić je w metody, co pozwala zmniejszyć liczbę powiązań między nimi. Jeżeli to niemożliwe, warto zamienić metodę w nową klasę, zmieniając parametry metody w pola klasy.
Ponieważ długie metody posiadają często długie listy parametrów, warto również usunąć ten problem za pomocą łączenia ich we wspólne klasy.