Pożądane cechy projektu
2024-10-22 16:19:58 0 Zgłoś
Zaloguj się, aby zobaczyć pełną zawartość
Inne dzieła autora
Zarys / Treść
Minimalizacja złożoności
Głównym celem projektowania powinno być minimalizowanie złożoności. Unikaj projektowania "inteligentnego". Projektowanie inteligentne jest zazwyczaj trudne do zrozumienia. Zamiast tego, projektuj "proste" i "łatwe do zrozumienia". Jeśli twoje rozwiązanie nie pozwala Ci bezpiecznie zignorować większość innych części programu, gdy skupisz się na konkretnej jego części, to rozwiązanie nie spełnia swojej roli.
łatwo utrzymywać
Łatwość utrzymania oznacza zaprojektowanie dla programistów, którzy będą utrzymywać kod. Nieustannie wyobraź sobie, jakie pytania programiści, którzy będą utrzymywać Twój kod, mogą zadawać. Traktuj programistów, którzy będą utrzymywać Twój kod, jako swoją publiczność, a następnie zaprojektuj system tak, aby był samopodany.
Minimalna spójność
Minimalna spójność oznacza, że podczas projektowania zminimalizowane są połączenia między różnymi częściami programu. Zastosuj zasady silnej koherencji, luźnego sprzężenia i ukrycia informacji, aby zaprojektować klasy z jak najmniejszą liczbą połączeń. Minimalne połączenia minimalizują pracę podczas integracji, testowania i konserwacji.
Reużywalność
Reużywalność oznacza, że podczas projektowania systemu można wykorzystać jego poszczególne elementy w innych systemach.
Lean
Lean oznacza, że podczas projektowania systemu, należy go zaprojektować tak, aby nie miał zbędnych elementów (Wirth, 1995 r.; McConnell, 1997 r.). Voltaire powiedział, że książka jest ukończona, ponieważ nie można jej już dodać nic, a nie dlatego, że nie można jej już usunąć nic. W szczególności w przypadku oprogramowania, ponieważ podczas modyfikowania innych kodów, musisz rozwijać, przeglądać, testować i rozważać dodatkowy kod. Przyszłe wersje oprogramowania muszą być zgodne z poprzednimi wersjami.
standaryzacja
System, który jest coraz bardziej zależny od zewnętrznych elementów, jest coraz bardziej przerażający dla tych, którzy go po raz pierwszy próbują zrozumieć. Staraj się używać standardowych, uniwersalnych metod, aby dać całemu systemowi wrażenie znajomości.
rozszerzalność
Możliwość rozszerzalności oznacza, że można wzmocnić system bez naruszania jego struktury podstawowej. Można zmienić część systemu bez wpływu na inne jego części. Najbardziej prawdopodobne zmiany powodują najmniejsze uszkodzenia systemu.
Wysoka fana
Wysoki stopień wejścia oznacza, że wiele klas używa danej klasy. Wysoki stopień wejścia oznacza, że system został dobrze zaprojektowany, wykorzystując w pełni klasy praktyczne niższego poziomu w systemie.
średnio-niskie odchylenie
Zmiana rozpiętości średnio-niskiej oznacza, że dana klasa korzysta tylko z średnio-niskiej liczby innych klas. Wysoka rozpiętość (ponad około 7) wskazuje, że klasa korzysta z dużej liczby innych klas, co może oznaczać, że jest zbyt złożona. Badacze odkryli, że niezależnie od liczby wywołań procedur wewnątrz procedur, czy liczby wywołań procedur wewnątrz klas, zasada niskiej rozpiętości jest korzystna.
przenośność
Przenośność oznacza, że projekt systemu musi ułatwiać jego przeniesienie do innego środowiska.
wzorzec warstwowy
Wzorzec warstwowy oznacza staranne zachowanie poziomów rozbicia, dzięki czemu można oglądać system na dowolnym poziomie i uzyskiwać spójny widok. Projektując system, można go oglądać na jednym poziomie, bez konieczności przechodzenia do innych poziomów.
Zbierać
Zbierać
Zbierać
Zbierać
Zbierać
0 Komentarze
Następna strona
Polecane dla ciebie
zobacz więcej