{"id":228663,"date":"2022-10-30T15:54:00","date_gmt":"2022-10-30T12:54:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228663"},"modified":"2022-11-09T03:39:50","modified_gmt":"2022-11-09T00:39:50","slug":"dziedziczenie-projektow-wordpress-wskazowki-dotyczace-rozwoju","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/dziedziczenie-projektow-wordpress-wskazowki-dotyczace-rozwoju\/","title":{"rendered":"Dziedziczenie projekt\u00f3w WordPress: wskaz\u00f3wki dotycz\u0105ce rozwoju"},"content":{"rendered":"\n<p>Je\u015bli prowadzisz firm\u0119, kt\u00f3ra koncentruje si\u0119 zar\u00f3wno na opracowywaniu rozwi\u0105za\u0144 od podstaw, jak i na wdra\u017caniu niestandardowego rozwi\u0105zania w kontek\u015bcie wcze\u015bniej istniej\u0105cych projekt\u00f3w (a mo\u017ce obu), prawdopodobnie \u2013 w pewnym momencie \u2013 w sytuacji dziedziczenia projekt\u00f3w WordPress.<\/p>\n<p>Radzenie sobie z projektami z obu uchwyt\u00f3w niesie ze sob\u0105 zestaw wyzwa\u0144 \u2013 wi\u0119kszo\u015b\u0107 z nich jest mile widziana \u2013 ale wydaje si\u0119, \u017ce jest to znacznie bardziej powszechne miejsce, w kt\u00f3rym ludzie narzekaj\u0105 na prac\u0119 z wcze\u015bniej istniej\u0105c\u0105 baz\u0105 kodu.<\/p>\n<p>Nie chodzi o to, \u017ce nie odczuwam tego, ale s\u0105dz\u0119, \u017ce jest w tym pewien poziom niedojrza\u0142o\u015bci. Z jednej strony tak, niekt\u00f3re bazy kod\u00f3w s\u0105 wr\u0119cz okropne. Ale niekt\u00f3re bazy kodu nie s\u0105 takie z\u0142e. W rzeczywisto\u015bci twierdz\u0119, \u017ce s\u0105 tylko troch\u0119 inne od tego, w jaki spos\u00f3b je rozwijasz.<\/p>\n<p>To jest przypadek, w kt\u00f3rym w gr\u0119 wchodz\u0105 standardy, ale na razie dygresj\u0119 w tej sprawie.<\/p>\n<p>Za\u0142\u00f3\u017cmy wi\u0119c, \u017ce dziedziczysz projekty WordPress i nie jeste\u015b szczeg\u00f3lnie podekscytowany baz\u0105 kodu, z kt\u00f3r\u0105 pracujesz. Jak to jest, \u017ce nadal mo\u017cesz cieszy\u0107 si\u0119 prac\u0105, kt\u00f3r\u0105 wykonujesz, bez poczucia, \u017ce \u200b\u200bmusisz krytykowa\u0107 ka\u017cdy aspekt tego, z czym masz do czynienia?<\/p>\n<h2>Dziedziczenie projekt\u00f3w WordPress<\/h2>\n<p>Po pierwsze, poj\u0119cie narzekania na prac\u0119 innych ludzi to przys\u0142owiowa woda, po kt\u00f3rej nie lubi\u0119 st\u0105pa\u0107.<\/p>\n<ul>\n<li>Nie znam t\u0142a, kt\u00f3re doprowadzi\u0142o do tego, \u017ce baza kodu jest w swoim stanie,<\/li>\n<li>nie wiem, dlaczego pewne rzeczy zosta\u0142y opracowane tak, jak by\u0142y (ograniczenia czasowe, brak znajomo\u015bci projektu itp.),<\/li>\n<li>Mam za zadanie zrobi\u0107 co\u015b w kontek\u015bcie projektu, wi\u0119c po co sp\u0119dza\u0107 czas skupiaj\u0105c si\u0119 na rzeczach, kt\u00f3re nie nale\u017c\u0105 do moich obowi\u0105zk\u00f3w?<\/li>\n<\/ul>\n<p>Rozumiem: s\u0105 chwile, w kt\u00f3rych kod, kt\u00f3ry piszemy, musi komunikowa\u0107 si\u0119 z kodem, kt\u00f3ry ju\u017c istnieje. A to mo\u017ce by\u0107 trudne. Istniej\u0105 wzorce projektowe, kt\u00f3re nie s\u0105 przeznaczone specjalnie do tej sytuacji.<\/p>\n<p>Ale zamiast opisywa\u0107 to, pomy\u015bla\u0142em, \u017ce podziel\u0119 si\u0119 trzema rzeczami, kt\u00f3re moim zdaniem pokazuj\u0105 dojrza\u0142o\u015b\u0107, je\u015bli chodzi o rozw\u00f3j podczas dziedziczenia projekt\u00f3w WordPress, kt\u00f3re mog\u0105 nas irytowa\u0107.<\/p>\n<h3>1 Nie refaktoryzuj wszystkiego<\/h3>\n<p>Jak stwierdzi\u0142 <a href=\"https:\/\/martinfowler.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Martin Fowler<\/a> :<\/p>\n<blockquote>\n<p>Ta oportunistyczna refaktoryzacja jest okre\u015blana przez wujka Boba jako przestrzeganie zasady harcerza \u2013 zawsze zostawiaj kod w lepszym stanie, ni\u017c go znalaz\u0142e\u015b.<\/p>\n<\/blockquote>\n<p>Og\u00f3lnie rzecz bior\u0105c, podoba mi si\u0119 ta zasada, ale w zale\u017cno\u015bci od wymaga\u0144 projektu mo\u017ce to wykracza\u0107 poza zakres naszych obowi\u0105zk\u00f3w.<\/p>\n<p>Je\u015bli wi\u0119c natrafimy na co\u015b, o czym wiemy, \u017ce wymaga refaktoryzacji, <strong>ale<\/strong> projekt przebiega sprawnie. Je\u015bli wprowadzisz w czym\u015b jedn\u0105 zmian\u0119, poniewa\u017c uwa\u017casz, \u017ce trzeba to zrobi\u0107, nie wiesz, jak to si\u0119 potoczy w ca\u0142ym projekcie.<\/p>\n<p>Je\u015bli masz czas na pe\u0142ny audyt kodu, to jedno, ale je\u015bli nie, to Twoim zadaniem jest wprowadzenie tego, na co si\u0119 zgodzi\u0142e\u015b.<\/p>\n<h3>2 Skoncentruj si\u0119 na tym, na co si\u0119 zgodzi\u0142e\u015b<\/h3>\n<p>I to prowadzi do tego punktu: podczas dziedziczenia projekt\u00f3w WordPress masz do wykonania pewn\u0105 ilo\u015b\u0107 pracy i nic wi\u0119cej (dlatego mamy zestawienie pracy, prawda?).<\/p>\n<p>Wi\u0119c pomimo tego, jak bardzo chcesz zmieni\u0107 \u015brodowisko, w kt\u00f3rym si\u0119 znajdujesz, nie r\u00f3b tego. Skoncentruj si\u0119 na tym, co mo\u017cesz zrobi\u0107, co tylko Ty mo\u017cesz zrobi\u0107 i na co si\u0119 zgodzi\u0142e\u015b.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-167152-61e7a08bc4f0e.png\" 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-167152-61e7a08bc4f0e.png\" alt=\"Dziedziczenie projekt\u00f3w WordPress: wskaz\u00f3wki dotycz\u0105ce rozwoju\" ><\/a><\/p>\n<p>My\u015bl\u0119, \u017ce dobrze jest robi\u0107 notatki o problemach i my\u015bl\u0119, \u017ce mo\u017ce to by\u0107 nawet korzystne (o czym za chwil\u0119), ale nie tra\u0107 uwagi na tym, na co si\u0119 zgodzi\u0142e\u015b. Robienie czegokolwiek, ale nieprofesjonalne.<\/p>\n<h3>3 Nie oceniaj poprzedniego programisty<\/h3>\n<p>Inn\u0105 powszechn\u0105 rzecz\u0105 \u2013 zw\u0142aszcza w open source \u2013 jest ocena dewelopera, kt\u00f3ry napisa\u0142 pocz\u0105tkowy zestaw kodu, z kt\u00f3rym pracujesz.<\/p>\n<blockquote>\n<p>Co to jest? Nigdy nie napisa\u0142bym tego w ten spos\u00f3b.<\/p>\n<\/blockquote>\n<p>Chodzi mi o to, ile razy my\u015bleli\u015bmy o tym sobie? Ale nie znamy czasu, ogranicze\u0144, do\u015bwiadczenia ani kontekstu, w kt\u00f3rym pracowa\u0142 deweloper.<\/p>\n<p>Udost\u0119pniony przez nas kod niekoniecznie odzwierciedla nasz poziom umiej\u0119tno\u015bci. Cz\u0119sto jest to podyktowane zmiennymi zewn\u0119trznymi, kt\u00f3re maj\u0105 wp\u0142yw na spos\u00f3b, w jaki wdra\u017camy rozwi\u0105zanie.<\/p>\n<p>I wiemy, jak to jest, prawda? Ile razy chcieli\u015bmy zrobi\u0107 co\u015b w jedn\u0105 stron\u0119, ale ograniczenia i harmonogram, w kt\u00f3rym pracujemy, dyktuj\u0105 nam to, co robimy?<\/p>\n<p>Dlaczego wi\u0119c mieliby\u015bmy oczekiwa\u0107, \u017ce ci programi\u015bci b\u0119d\u0105 inni?<\/p>\n<h3>Opcjonalnie: zaoferuj przysz\u0142e wsparcie<\/h3>\n<p>Jak wspomniano wcze\u015bniej, je\u015bli natkniesz si\u0119 na obszary w kodzie, kt\u00f3re s\u0105 problematyczne, nie oznacza to, \u017ce jest to przegrana przyczyna.<\/p>\n<p>Zamiast tego, kiedy natkniesz si\u0119 na tego typu problemy, my\u015bl\u0119, \u017ce dobrym pomys\u0142em jest:<\/p>\n<ul>\n<li>robi\u0107 notatki o rzeczach, kt\u00f3re widzia\u0142e\u015b,<\/li>\n<li>opisz, co by\u015b zrobi\u0142, aby to naprawi\u0107 i dlaczego,<\/li>\n<li>porozmawiaj z klientem o tym, co widzia\u0142e\u015b i korzy\u015bciach p\u0142yn\u0105cych z aktualizacji.<\/li>\n<\/ul>\n<p>To oczywi\u015bcie prowadzi do przysz\u0142ej pracy, ale by\u0107 mo\u017ce powy\u017cej tego pozwala oferowa\u0107 rozwi\u0105zania umo\u017cliwiaj\u0105ce tworzenie lepszego, lepiej zaprojektowanego oprogramowania i pozwala upewni\u0107 si\u0119, \u017ce czynisz Internet lepszym miejscem dla tak popularnego systemu CMS.<\/p>\n<p>Nie, ta praca nigdy nie jest gwarantowana, ale jest pomocna.<\/p>\n<h2>Jestem pewien, \u017ce jest wi\u0119cej<\/h2>\n<p>To tylko trzy wskaz\u00f3wki, kt\u00f3re oferuj\u0119 w oparciu o do\u015bwiadczenie, jakie mam przy dziedziczeniu projekt\u00f3w WordPress. Nie ma by\u0107 wszechogarniaj\u0105ca.<\/p>\n<p>Zamiast tego ma na celu dostarczenie kilku wskaz\u00f3wek, kt\u00f3re pozwol\u0105 ci by\u0107 bardziej ostro\u017cnym w stosunku do pracy innych os\u00f3b w odniesieniu do twojej pracy, lepiej przemy\u015ble\u0107, co mo\u017cesz zrobi\u0107 w obliczu podobnych sytuacji, oraz zebra\u0107 wi\u0119cej pracy poprzez ulepszenie istniej\u0105cych rozwi\u0105zanie potencjalnie.<\/p>\n<p>Ale wiem, \u017ce to, o czym wspomnia\u0142em, to tylko kilka moich obserwacji. Masz w\u0142asne? Wymie\u0144 je w komentarzach.<\/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>Za\u0142\u00f3\u017cmy, \u017ce dziedziczysz projekty WordPress i nie przejmujesz si\u0119 baz\u0105 kodu. Jak mo\u017cesz nadal cieszy\u0107 si\u0119 prac\u0105, kt\u00f3r\u0105 wykonujesz?<\/p>\n","protected":false},"author":1,"featured_media":220946,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,919,866],"tags":[1169],"class_list":["post-228663","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-inny","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228663","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=228663"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228663\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/220946"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}