Wątki

[ Pobierz całość w formacie PDF ]
. 52 u� Rozdział 2.Postawa pragmatycznaJeśli i my czujemy taką pokusę, powinniśmy przypomnieć sobie wyświechtanepowiedzenie: droga na skróty bywa najdłuższa.Być może uda nam się oszczę-dzić kilka sekund teraz, tyle że kosztem potencjalnych strat liczonych w godzi-nach.Warto przypomnieć sobie trudności związane z problemem roku 2000.Wiele spośród tych kłopotliwych usterek powstało wskutek lenistwa progra-mistów, którzy nie zdecydowali się na parametryzację wielkości pól daty czyimplementację scentralizowanych bibliotek dla usług związanych z datami.Z problemem niecierpliwego powielania można sobie dość łatwo poradzić podwarunkiem konsekwentnego godzenia się na większe zaangażowanie dzisiajz myślą o oszczędnościach w przyszłości.Powielanie wśród wielu programistówZ zupełnie inną sytuacją mamy do czynienia w przypadku zjawiska powielaniazachodzącego wśród wielu różnych programistów zaangażowanych w projekt tu wykrycie i wyeliminowanie problemu jest szczególnie trudne.Całe zbioryfunkcji mogą być przypadkowo powielane i te powielenia mogą pozostawać nie-wykryte całymi latami, prowadząc do poważnych problemów związanych z kon-serwacją.Słyszeliśmy kiedyś od dobrze poinformowanej osoby historię o jednymz amerykańskich stanów, którego rządowy komputer był poddany badaniompod kątem odporności na problem 2000 roku.Audyt wykazał istnienie ponad10 tys.programów, z których każdy stosował własną wersję weryfikacji nume-rów ubezpieczenia społecznego (SSN).Na wysokim poziomie należy radzić sobie z tym problemem, posługując się możli-wie klarownym projektem, zatrudniając lidera projektu dysponującego odpowied-nią wiedzą techniczną (patrz podrozdział  Pragmatyczne zespoły w rozdziale 8.)oraz dobrze rozumiejąc podział odpowiedzialności wynikający z przyjętego pro-jektu.Na poziomie modułów wspomniany problem okazuje się jednak bardziejpodstępny.Często potrzebne funkcje czy dane, które trudno jednoznacznie sko-jarzyć z konkretnym obszarem odpowiedzialności, mogą być implementowanewiele razy w ramach tego samego projektu.Wydaje się, że najlepszym sposobem radzenia sobie z tym problemem jest za-chęcanie członków zespołu do aktywnej i możliwie częstej komunikacji.Wartostworzyć fora umożliwiające swobodną dyskusję o typowych problemach.(W prze-szłości podczas realizacji projektów tworzyliśmy prywatne, usenetowe grupydyskusyjne umożliwiające programistom wymianę pomysłów i zadawanie pytań.Dzięki temu możliwa była nieinwazyjna komunikacja, także z udziałem pro-gramistów zatrudnionych w różnych miejscach, z możliwością trwałego zapisy-wania formułowanych wniosków).Warto wyznaczyć jednego członka zespołu doroli swoistego bibliotekarza projektu, którego zadaniem będzie wspieranie pro-cesu wymiany wiedzy.Dobrym pomysłem jest też wyznaczenie centralnegomiejsca w drzewie kodu zródłowego, w którym będzie można zapisywać pro-cedury i skrypty użytkowe.Należy też wypracować procedury czytania cudzegokodu zródłowego i dokumentacji (albo w sposób nieformalny, albo w ramach Ortogonalność t� 53przeglądów kodu).Nie chodzi o wtykanie nosa w nie swoje sprawy  naszymcelem jest nauka.Musimy przy tym pamiętać o zasadzie wzajemności  niemożemy zazdrośnie strzec własnego kodu przed wzrokiem współpracowników.WSKAZ�WKA NR 12Należy dbać o możliwość wielokrotnego stosowania kodu.Naszym celem jest stworzenie środowiska, w którym znajdowanie i ponownewykorzystywanie istniejących rozwiązań będzie łatwiejsze niż samodzielne pisa-nie analogicznego kodu.Jeśli to nie będzie dostatecznie łatwe, nikt nie będzietego robił.A jeśli istniejące rozwiązania nie są ponownie używane, ryzykujemypowielanie wiedzy.Pokrewne podrozdziałyl�  Ortogonalność w rozdziale 2.l�  Operowanie na tekście w rozdziale 3.l�  Generatory kodu w rozdziale 3.l�  Refaktoryzacja w rozdziale 6.l�  Pragmatyczne zespoły w rozdziale 8.l�  Wszechobecna automatyzacja w rozdziale 8.l�  Pisanie przede wszystkim w rozdziale 8.8 OrtogonalnośćOrtogonalność jest podstawową koncepcją dla każdego programisty zaintere-sowanego tworzeniem systemów łatwych do zaprojektowania, skonstruowania,przetestowania i rozwijania [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • mikr.xlx.pl
  • Powered by MyScript