{"id":228970,"date":"2022-11-07T13:52:00","date_gmt":"2022-11-07T10:52:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228970"},"modified":"2022-11-09T05:00:15","modified_gmt":"2022-11-09T02:00:15","slug":"projekt-guardrails-pisanie-do-produkcji","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/projekt-guardrails-pisanie-do-produkcji\/","title":{"rendered":"Projekt Guardrails: pisanie do produkcji"},"content":{"rendered":"\n<p>W ostatnich kilku artyku\u0142ach m\u00f3wi\u0142em o kilku rzeczach (zapisanych do faktycznego pisania do produkcji), kt\u00f3re pomagaj\u0105 w prowadzeniu udanego projektu:<\/p>\n<ol>\n<li>Zagro\u017cenia w \u201e <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/porecze-projektowe-projekt-przez-komisje\/\" title=\"projektowaniu przez komisj\u0119\" >projektowaniu przez komisj\u0119<\/a> &quot;,<\/li>\n<li>Uwagi dotycz\u0105ce <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/porecze-projektu-srodowiska-aprowizacji\/\" title=\"udost\u0119pniania \u015brodowiska\" >udost\u0119pniania \u015brodowiska<\/a>.<\/li>\n<\/ol>\n<p>Ostatni\u0105 rzecz\u0105, jak\u0105 chcia\u0142bym odnie\u015b\u0107 si\u0119 do nauki, kt\u00f3rej do tej pory do\u015bwiadczy\u0142em, jest utrzymanie przys\u0142owiowych kluczy do kr\u00f3lestwa pisania do produkcji i dlaczego to ma znaczenie.<\/p>\n<h2>Pisanie do produkcji<\/h2>\n<p>Pomys\u0142 pisania do produkcji mo\u017ce wydawa\u0107 si\u0119 najbardziej dogmatyczn\u0105 barier\u0105 ochronn\u0105 z wymienionych, poniewa\u017c zwykle jest w porz\u0105dku dla tych, kt\u00f3rzy buduj\u0105 rozwi\u0105zanie i znaj\u0105 tajniki jego dzia\u0142ania.<\/p>\n<p>Inni interesariusze prawdopodobnie tego nie robi\u0105 (ale je\u015bli tak, a zesp\u00f3\u0142 programist\u00f3w nie ma nic przeciwko innym, kt\u00f3rzy u\u017cywaj\u0105 kontroli wersji do obs\u0142ugi tego, to zr\u00f3b to).<\/p>\n<p>Kto naprawd\u0119 ma pozwolenie na administrowanie tymi rzeczami?<\/p>\n<p>Pami\u0119taj jednak, jak wspomniano <a href=\"https:\/\/wordpress.mediadoma.com\/pl\/porecze-projektu-srodowiska-aprowizacji\/\" title=\"wcze\u015bniej w tej serii\" >wcze\u015bniej w tej serii<\/a>, spos\u00f3b, w jaki wdra\u017camy nasze projekty, zmieni\u0142 si\u0119 teraz tak, \u017ce cz\u0119sto mamy do czynienia z ci\u0105g\u0142ym wdra\u017caniem i ci\u0105g\u0142\u0105 integracj\u0105.<\/p>\n<p>I cz\u0119sto te us\u0142ugi s\u0105 pod\u0142\u0105czone do repozytorium kodu \u017ar\u00f3d\u0142owego, takiego jak <a href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GitHub<\/a>, i systemu przesy\u0142ania wiadomo\u015bci (kt\u00f3ry z kolei mo\u017ce by\u0107 pod\u0142\u0105czony do <a href=\"https:\/\/tommcfarlin.com\/business-foundations\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Slacka<\/a>, co uwa\u017cam za przydatne).<\/p>\n<p>Aby ludzie w zespole byli \u015bwiadomi tego, co zosta\u0142o wdro\u017cone i kiedy, i wiedzieli, jak w razie potrzeby uzyska\u0107 kod (kt\u00f3ry pochodzi z repozytorium, a nie z pobierania go przez S\/FTP).<\/p>\n<p>Gdy potrzebna jest poprawka, nadal powinna istnie\u0107 procedura. By\u0107 mo\u017ce kto\u015b jest na zawo\u0142anie i istnieje proces, w kt\u00f3rym u\u017cywane jest rozga\u0142\u0119zianie, \u0142\u0105czenie, tagowanie i <a href=\"http:\/\/semver.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wersjonowanie semantyczne<\/a>.<\/p>\n<p>Niezale\u017cnie od tego, nie chodzi tak bardzo o to, jak dzia\u0142a ten proces; chodzi o to, \u017ce jest na swoim miejscu i jest przestrzegany.<\/p>\n<p>Oczywi\u015bcie te rzeczy nie s\u0105 wprowadzane w celu komplikowania rozwoju (chocia\u017c rozumiem, jak to mo\u017ce wygl\u0105da\u0107 w ten spos\u00f3b). Wr\u0119cz przeciwnie. Dzieje si\u0119 tak z r\u00f3\u017cnych powod\u00f3w:<\/p>\n<ul>\n<li>aby utrzyma\u0107 ci\u0105g\u0142e wdra\u017canie, wiesz, ci\u0105g\u0142e,<\/li>\n<li>mie\u0107 zintegrowane testy,<\/li>\n<li>do ci\u0105g\u0142ego pomiaru standard\u00f3w kodowania lub jako\u015bci kodu,<\/li>\n<li>aby zapobiec kodowaniu kowbojskiemu,<\/li>\n<li>i wi\u0119cej.<\/li>\n<\/ul>\n<p>Nie chodzi tu o trzymanie innych ludzi z daleka, ale je\u015bli to programi\u015bci s\u0105 odpowiedzialni za wypychanie kodu, to czy ktokolwiek inny naprawd\u0119 powinien mie\u0107 dost\u0119p do zapisu na serwerze?<\/p>\n<p>I to jest sedno: je\u015bli pracujesz w zespole, w kt\u00f3rym procesy, kt\u00f3re masz, mog\u0105 ca\u0142kowicie podwa\u017cy\u0107 twoj\u0105 prac\u0119, to jaki jest cel tego procesu?<\/p>\n<p>Poniewa\u017c w ka\u017cdej chwili mo\u017ce pojawi\u0107 si\u0119 kto\u015b inny, a to zignoruje wszystko, co zrobi\u0142e\u015b. Jeste\u015b wi\u0119c przynajmniej:<\/p>\n<ul>\n<li>utkn\u0105\u0142em z konieczno\u015bci\u0105 \u015bci\u0105gania swoich zmian prawdopodobnie przez S\/FTP,<\/li>\n<li>por\u00f3wnaj go za pomoc\u0105 narz\u0119dzia diff z ga\u0142\u0119zi\u0105, na kt\u00f3rej kto\u015b pracuje,<\/li>\n<li>wdro\u017cy\u0107 zmiany (pozw\u00f3l nam dowiedzie\u0107 si\u0119, dlaczego zosta\u0142y wprowadzone),<\/li>\n<li>a nast\u0119pnie wr\u00f3\u0107 do pracy nad wymaganiami.<\/li>\n<\/ul>\n<p>Brzmi to gor\u0105czkowo, kiedy tak to ujmujesz, ale tak w\u0142a\u015bnie si\u0119 dzieje.<\/p>\n<h2>Na wynos<\/h2>\n<p>Wi\u0119c jaki jest cel ostatnich kilku post\u00f3w? Gdybym mia\u0142 to podsumowa\u0107 tak zwi\u0119\u017ale, jak to mo\u017cliwe, to:<\/p>\n<p>Je\u015bli chodzi o projekt, poznaj swoje obowi\u0105zki i nie wychod\u017a z nich. W przeciwnym razie ryzykujesz wykolejenie ca\u0142ej rzeczy.<\/p>\n<p>Dotyczy to programist\u00f3w, projektant\u00f3w, klient\u00f3w, marketer\u00f3w, kierownik\u00f3w projekt\u00f3w itp. Jak wyznaczane s\u0105 role, nie ma wi\u0119kszego znaczenia (to znaczy, zwykle jest jasne, kto powinien by\u0107 kim w powy\u017cszych rolach), ale mam na my\u015bli kim jest rzeczywista osoba punktowa \u2013 w\u0142a\u015bciciel projektu \u2013 dla ca\u0142ego projektu.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166402-61e7935047b12.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166402-61e7935047b12.jpg\" alt=\"Projekt Guardrails: pisanie do produkcji\" ><\/a><\/p>\n<p>Nie b\u0105d\u017a taki.<\/p>\n<p>I w zale\u017cno\u015bci od tego, jak wszystko si\u0119 zgadza, projekt mo\u017ce by\u0107 stosunkowo prostym zestawem codziennej pracy.<\/p>\n<p>O ile to mo\u017cliwe, czy nie chcemy cieszy\u0107 si\u0119 tym, co robimy<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chc\u0119 odnie\u015b\u0107 si\u0119 do dotychczasowego uczenia si\u0119 o zachowaniu kluczy do kr\u00f3lestwa pisania do produkcji i dlaczego to ma znaczenie.<\/p>\n","protected":false},"author":1,"featured_media":166403,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,752],"tags":[1169],"class_list":["post-228970","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-otwarte-zrodlo","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=228970"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228970\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/166403"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}