{"id":231336,"date":"2023-01-04T14:34:00","date_gmt":"2023-01-04T11:34:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231336"},"modified":"2022-12-25T21:41:56","modified_gmt":"2022-12-25T18:41:56","slug":"nie-rozwijaj-wizji-tunelu-rozwojowego","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/nie-rozwijaj-wizji-tunelu-rozwojowego\/","title":{"rendered":"Nie rozwijaj wizji tunelu rozwojowego"},"content":{"rendered":"\n<p>W poprzednich postach m\u00f3wi\u0142em o pomy\u015ble skoncentrowania si\u0119 na obszarze i wchodzenia w <a href=\"https:\/\/tommcfarlin.com\/deep-and-wide\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">g\u0142\u0105b, a nie wszerz<\/a>. To oczywi\u015bcie osobiste preferencje, ale mimo wszystko moje.<\/p>\n<p>Jednak w ci\u0105gu ostatniego roku jednym z produkt\u00f3w ubocznych, kt\u00f3re odkry\u0142em, jest to, \u017ce im d\u0142u\u017cej pozostajesz w danej bran\u017cy, tym cz\u0119\u015bciej pojawiaj\u0105 si\u0119 pewne problemy. (Nie powinno to dziwi\u0107, poniewa\u017c w\u0142a\u015bnie dlatego mamy <a href=\"https:\/\/en.wikipedia.org\/wiki\/Design_Patterns\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wzorce projektowe<\/a> .)<\/p>\n<p>Ale rzecz w robieniu tego polega na tym, \u017ce rozwijasz co\u015b w rodzaju wizji tunelowej, aby znale\u017a\u0107 sposoby rozwi\u0105zywania problem\u00f3w.<\/p>\n<p><a href=\"https:\/\/unsplash.com\/photos\/6YglLphbCX8\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kredyty<\/a><\/p>\n<p>Przyk\u0142ad: Ostatnio otrzyma\u0142em zadanie stworzenia pewnej funkcjonalno\u015bci, kt\u00f3ra mia\u0142a analizowa\u0107 znaczniki i konwertowa\u0107 je do nieco innego formatu.<\/p>\n<h2>Wizja tunelu rozwojowego<\/h2>\n<p>Robi\u0142em to raz za razem i cz\u0119sto uwa\u017ca\u0142em <code>[DOMDocument](https:\/\/www.php.net\/manual\/en\/class.domdocument.php)<\/code>si\u0119 za jednego z najbardziej pomocnych narz\u0119dzi w tym zakresie. Ale jest problem: tak przyzwyczai\u0142em si\u0119 do tego, \u017ce zaniedbywa\u0142em alternatywne rozwi\u0105zania, kt\u00f3re nie by\u0142y wbudowane w WordPress, ale w PHP.<\/p>\n<p>Zamiast \u0142adowa\u0107 ca\u0142y dokument do instancji <code>[DOMDocument](https:\/\/www.php.net\/manual\/en\/class.domdocument.php)<\/code>, mog\u0142em zamieni\u0107 ci\u0105gi za pomoc\u0105 \u2013 nie, nie wyra\u017ce\u0144 regularnych (cho\u0107 to by\u0142o kusz\u0105ce) \u2013 ale <code>[strip_tags](https:\/\/www.php.net\/manual\/en\/function.strip-tags.php)<\/code>i <code>[str_replace](http:\/\/php.net\/manual\/en\/function.str-replace.php)<\/code>.<\/p>\n<p>Id\u0105c o krok dalej, jest to co\u015b, na co zwr\u00f3ci\u0142 uwag\u0119 <a href=\"https:\/\/twitter.com\/salcode\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">szanowany kolega<\/a> podczas przegl\u0105du kodu.<\/p>\n<h3>Znowu o recenzjach kodu<\/h3>\n<p>Sp\u0119dzi\u0142em r\u00f3wnie\u017c <a href=\"https:\/\/tommcfarlin.com\/code-review-process\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">poprzednie posty<\/a> na rozmowach o <a href=\"https:\/\/tommcfarlin.com\/code-reviews\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">przegl\u0105dach kodu<\/a>, o tym, dlaczego uwa\u017cam, \u017ce s\u0105 one wa\u017cne, jak sobie z nimi radzi\u0107 i jak unikn\u0105\u0107 pozostawania przy nich.<\/p>\n<p>Ale by\u0142o to mi\u0142e przypomnienie, aby odkry\u0107, \u017ce nawet je\u015bli uwa\u017casz, \u017ce jeste\u015b przyzwyczajony do rozwi\u0105zywania typowego problemu w danej sytuacji, nadal mo\u017ce istnie\u0107 inny, czystszy i\/lub lepszy spos\u00f3b na zrobienie tego.<\/p>\n<p>Chodzi mi o to, \u017ce bez wzgl\u0119du na to, po kt\u00f3rej stronie przegl\u0105du kodu jeste\u015b i bez wzgl\u0119du na to, jak d\u0142ugo robisz to, co robisz, nie odrzucaj krytyki, poniewa\u017c jest inna.<\/p>\n<p>Je\u015bli ju\u017c, to powstrzymuje ci\u0119 od rozwijania wizji tunelu rozwoju; utrzymuje tw\u00f3j umys\u0142 tak, aby my\u015ble\u0107 szerzej o problemie, bez wzgl\u0119du na to, jak cz\u0119sto go rozwi\u0105zywa\u0142e\u015b.<\/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>To powstrzymuje ci\u0119 od rozwijania wizji tunelu rozwoju; utrzymuje tw\u00f3j umys\u0142 tak, aby my\u015ble\u0107 szeroko o problemie, bez wzgl\u0119du na to, jak cz\u0119sto go rozwi\u0105zywa\u0142e\u015b.<\/p>\n","protected":false},"author":1,"featured_media":158791,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[984,721,919,845],"tags":[1169],"class_list":["post-231336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-biznes-pl","category-deweloper","category-inny","category-samouczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231336","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=231336"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231336\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/158791"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=231336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=231336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=231336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}