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