Podobne
- Strona startowa
- Summits. Six meetings that shap Dav
- Cien wolnosci Dav
- Weber Dav
- Eddings Dav
- Brin Dav
- Perez Reverte Arturo Szachownica flamandzka (SCAN da
- Lackey Mercedes Obietnica Magii (2)
- Gibson William Swiatlo wirtualne
- (eBook) James, William The Principles of Psychology Vol. II
- Christie Agatha Wczesne sprawy Poirota
- zanotowane.pl
- doc.pisz.pl
- pdf.pisz.pl
- mizuyashi.htw.pl
Cytat
Do celu tam się wysiada. Lec Stanisław Jerzy (pierw. de Tusch-Letz, 1909-1966)
A bogowie grają w kości i nie pytają wcale czy chcesz przyłączyć się do gry (. . . ) Bogowie kpią sobie z twojego poukładanego życia (. . . ) nie przejmują się zbytnio ani naszymi planami na przyszłość ani oczekiwaniami. Gdzieś we wszechświecie rzucają kości i przypadkiem wypada twoja kolej. I odtąd zwyciężyć lub przegrać - to tylko kwestia szczęścia. Borys Pasternak
Idąc po kurzych jajach nie podskakuj. Przysłowie szkockie
I Herkules nie poradzi przeciwko wielu.
Dialog półinteligentów równa się monologowi ćwierćinteligenta. Stanisław Jerzy Lec (pierw. de Tusch - Letz, 1909-1966)
[ Pobierz całość w formacie PDF ]
.W aplikacjach obiektowych kontekst czÄ™sto jest przekazywanyw formie parametrów konstruktorów obiektów.W kodzie pozostaÅ‚ych apli-kacji możemy tworzyć struktury reprezentujÄ…ce kontekst i przekazywaćreferencje do tych struktur.Wzorzec projektowy Singleton opisany w książce Wzorce projektowe[GHJV95] gwarantuje nam, że bÄ™dzie istniaÅ‚ tylko jeden egzemplarzobiektu okreÅ›lonej klasy.Wielu programistów używa tych singletonowychobiektów w roli swoistych zmiennych globalnych (szczególnie w takichjÄ™zykach jak Java, gdzie obsÅ‚uga danych globalnych w inny sposób jestniemożliwa).Obiekty singletonowe należy stosować rozważnie takżeone mogÄ… rodzić zbÄ™dne powiÄ…zania.lð Należy unikać podobnych funkcji.W swojej pracy czÄ™sto spotykamyzbiory funkcji, które wyglÄ…dajÄ… bardzo podobnie zdarza siÄ™, że kod naich poczÄ…tku i koÅ„cu jest identyczny, a różnice sprowadzajÄ… siÄ™ do stoso-wania odmiennych algorytmów centralnych.Powielony kod zawsze należytraktować jako symptom problemów strukturalnych.Warto wiÄ™c zapoznaćsiÄ™ ze wzorcem Strategy (strategii) opisanym w książce Wzorce projektowei podjąć próbÄ™ opracowania lepszej implementacji.Należy opanować sztukÄ™ krytycznej oceny wÅ‚asnego kodu.Warto poszukiwaćwszelkich okazji do reorganizacji kodu z myÅ›lÄ… o poprawie jego struktury i orto-gonalnoÅ›ci i wykorzystywać je.Odpowiedni proces, który okreÅ›la siÄ™ mianemrefaktoryzacji, jest na tyle istotny, że poÅ›wiÄ™cimy mu sporo uwagi w dalszejczęści tej książki (patrz podrozdziaÅ‚ Refaktoryzacja w rozdziale 6.).TestowanieSystemy projektowane i implementowane zgodnie z zasadÄ… ortogonalnoÅ›ci sÄ…dużo Å‚atwiejsze do testowania.Ponieważ interakcje pomiÄ™dzy komponentamisystemu sÄ… sformalizowane i ograniczone, znacznÄ… część testów można wykonaćna poziomie pojedynczych modułów.Takie rozwiÄ…zanie jest o tyle korzystne, żetesty na poziomie moduÅ‚u (jednostki) sÄ… nieporównanie prostsze do definiowaniaOrtogonalność tð 61i wykonywania niż testy integracyjne.Sugerujemy nawet opracowanie osobnegotestu jednostkowego dla każdego moduÅ‚u i umieszczenie go w kodzie tego moduÅ‚u.Tak zdefiniowane testy powinny być wykonywane automatycznie w ramachprocesu regularnego kompilowania kodu (patrz podrozdziaÅ‚ Kod Å‚atwy do testo-wania w rozdziale 6.).Budowa testów jednostkowych sama w sobie jest dość ciekawym testem ortogo-nalnoÅ›ci systemu.Co należy zrobić, aby przygotować test jednostkowy i poÅ‚Ä…czyćgo z systemem? Czy kompilacja lub Å‚Ä…czenie tego testu wymaga dostÄ™pu doznacznej części pozostaÅ‚ych skÅ‚adników systemu? JeÅ›li tak, wÅ‚aÅ›nie odkryliÅ›mymoduÅ‚, który nie jest dobrze odizolowany od reszty systemu.Dobrym momentem oceny ortogonalnoÅ›ci systemu jest także usuwanie znale-zionych bÅ‚Ä™dów.Po napotkaniu problemu warto przeanalizować zasiÄ™g oddziaÅ‚y-wania usterki.Czy wystarczy zmienić tylko jeden moduÅ‚, czy zmiany dotyczÄ…caÅ‚ego systemu? Czy jedna zmiana wystarczy do usuniÄ™cia problemu, czy raczejpowoduje tajemnicze pojawienie siÄ™ innych problemów? To wprost doskonaÅ‚aokazja do zastosowania automatycznych rozwiÄ…zaÅ„.JeÅ›li posÅ‚ugujemy siÄ™ sys-temem kontroli wersji (po lekturze podrozdziaÅ‚u Kontrola kodu zródÅ‚owegow rozdziale 3.to raczej pewne), możemy oznaczać usuniÄ™te bÅ‚Ä™dy przy okazjizwracania kodu do repozytorium po zakoÅ„czeniu testów.W takim przypadkuwarto skorzystać z możliwoÅ›ci generowania comiesiÄ™cznych raportów ilustrujÄ…-cych trendy w zakresie liczby plików zródÅ‚owych objÄ™tych procedurami usuwaniausterek.DokumentacjaCo ciekawe, zasada ortogonalnoÅ›ci znajduje zastosowanie także w dokumentacji.W tym przypadku funkcje osi peÅ‚ni treść i prezentacja.NaprawdÄ™ ortogonalnadokumentacja powinna umożliwiać zasadniczÄ… zmianÄ™ wyglÄ…du bez koniecznoÅ›cimodyfikowania treÅ›ci.Współczesne edytory tekstu oferujÄ… obsÅ‚ugÄ™ arkuszy sty-lów i makr, które znacznie uÅ‚atwiajÄ… budowÄ™ ortogonalnych dokumentów (patrzpodrozdziaÅ‚ Pisanie przede wszystkim w rozdziale 8.).%7Å‚ycie z ortogonalnoÅ›ciÄ…Ortogonalność jest Å›ciÅ›le zwiÄ…zana z zasadÄ… DRY, wprowadzonÄ… we wczeÅ›niej-szej części tego rozdziaÅ‚u.Zasada DRY ma na celu zminimalizowanie zjawiskapowielania w systemie, natomiast ortogonalność pozwala ograniczyć wzajemnezależnoÅ›ci Å‚Ä…czÄ…ce komponenty tego systemu
[ Pobierz całość w formacie PDF ]