{"id":228379,"date":"2022-10-20T09:49:00","date_gmt":"2022-10-20T06:49:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228379"},"modified":"2022-11-09T02:08:36","modified_gmt":"2022-11-08T23:08:36","slug":"pisanie-lepszego-kodu-dla-projektow-opartych-na-wordpressie","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/pisanie-lepszego-kodu-dla-projektow-opartych-na-wordpressie\/","title":{"rendered":"Pisanie lepszego kodu dla projekt\u00f3w opartych na WordPressie"},"content":{"rendered":"\n<p>Nie pami\u0119tam dok\u0142adnie, kiedy po raz pierwszy natkn\u0105\u0142em si\u0119 na blog\u00a0 Joela <a href=\"https:\/\/twitter.com\/spolsky\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Spolsky&#8217;ego<\/a> <a href=\"https:\/\/www.joelonsoftware.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Joel on Software<\/a>, ale by\u0142o to w pewnym momencie w szkole \u015bredniej.<\/p>\n<p>Nie wiedzia\u0142em wystarczaj\u0105co du\u017co o ca\u0142ym procesie tworzenia oprogramowania, aby uzyska\u0107 wiele z tego, o czym naprawd\u0119 m\u00f3wi\u0142, ale podoba\u0142 mi si\u0119 jego styl pisania i podoba\u0142o mi si\u0119 to, co mia\u0142 do powiedzenia.<\/p>\n<p>W rzeczywisto\u015bci by\u0142em takim fanem, \u017ce po uko\u0144czeniu studi\u00f3w kupi\u0142em jego ksi\u0105\u017cki (kt\u00f3re by\u0142y zbiorami artyku\u0142\u00f3w na jego stronie) i czyta\u0142em je od deski do deski. Trzyma\u0142em ich kopie na biurku w pracy i korzysta\u0142em z jednej z jego ksi\u0105\u017cek \u2013 <a href=\"https:\/\/www.amazon.com\/Smart-Gets-Things-Done-Technical\/dp\/1590598385\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Smart and Gets Things Done<\/a> \u2013 kiedy by\u0142em kierownikiem zespo\u0142u.<\/p>\n<p>Jednak najbardziej utkwi\u0142y mi w pami\u0119ci artyku\u0142y, kt\u00f3re dotyczy\u0142y pisania lepszego kodu. Oto jednak rzecz: te artyku\u0142y nie zawiera\u0142y nic na temat pisania kodu.<\/p>\n<h2>Pisanie lepszego kodu<\/h2>\n<p>Zamiast tego chodzi\u0142o o procesy zwi\u0105zane z lepszym kodem. I natkn\u0105\u0142em si\u0119 na artyku\u0142 \u2013 mimo wszystko maj\u0105cy 16 lat \u2013 i nadal uwa\u017cam go za tak samo aktualny, jak wtedy, gdy go znalaz\u0142em.<\/p>\n<p>Z wyj\u0105tkiem tego, \u017ce sam zastanawiam si\u0119, jak to si\u0119 ma do <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">mojej obecnej pracy programistycznej<\/a>.<\/p>\n<h3>Test Joela<\/h3>\n<p>Po pierwsze, artyku\u0142, o kt\u00f3rym mowa, to taki, kt\u00f3ry czytam co najmniej raz w miesi\u0105cu \u2013 je\u015bli nie przynajmniej raz w tygodniu \u2013 i wszyscy kr\u0119ci si\u0119 wok\u00f3\u0142 tego, co on nazywa <a href=\"https:\/\/www.joelonsoftware.com\/2000\/08\/09\/the-joel-test-12-steps-to-better-code\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">testem Joela<\/a>. To dwana\u015bcie pyta\u0144, kt\u00f3re zadajesz swojemu obecnemu zespo\u0142owi programistycznemu.<\/p>\n<ol>\n<li>Czy korzystasz z kontroli \u017ar\u00f3d\u0142a?<\/li>\n<li>Czy potrafisz wykona\u0107 kompilacj\u0119 w jednym kroku?<\/li>\n<li>Czy codziennie budujesz?<\/li>\n<li>Czy masz baz\u0119 b\u0142\u0119d\u00f3w?<\/li>\n<li>Czy naprawiasz b\u0142\u0119dy przed napisaniem nowego kodu?<\/li>\n<li>Czy masz aktualny harmonogram?<\/li>\n<li>Masz specyfikacj\u0119?<\/li>\n<li>Czy programi\u015bci maj\u0105 ciche warunki pracy?<\/li>\n<li>Czy korzystasz z najlepszych narz\u0119dzi, jakie mo\u017cna kupi\u0107 za pieni\u0105dze?<\/li>\n<li>Czy masz tester\u00f3w?<\/li>\n<li>Czy nowi kandydaci pisz\u0105 kod podczas rozmowy kwalifikacyjnej?<\/li>\n<li>Czy przeprowadzasz testy u\u017cyteczno\u015bci korytarza?<\/li>\n<\/ol>\n<p>Bior\u0105c pod uwag\u0119, \u017ce te pytania zosta\u0142y napisane 16 lat temu i s\u0105 w du\u017cej mierze oparte na skompilowanym kodzie, niekt\u00f3re terminy mog\u0105 wymaga\u0107 dostosowania.<\/p>\n<blockquote>\n<p>Fajn\u0105 rzecz\u0105 w te\u015bcie Joela jest to, \u017ce \u0142atwo jest szybko <strong>odpowiedzie\u0107 tak<\/strong> lub <strong>nie<\/strong> na ka\u017cde pytanie. Nie musisz ustala\u0107 liczby linii kodu na dzie\u0144 lub \u015bredniej liczby b\u0142\u0119d\u00f3w na punkt przegi\u0119cia. Daj swojemu zespo\u0142owi 1 punkt za ka\u017cd\u0105 odpowied\u017a \u201etak&quot;.<\/p>\n<\/blockquote>\n<p>Na przyk\u0142ad, zamiast pyta\u0107, czy mo\u017cesz wykona\u0107 kompilacj\u0119 w jednym kroku, by\u0107 mo\u017ce powinni\u015bmy zapyta\u0107, czy mo\u017cemy wykona\u0107 wdro\u017cenie w jednym kroku. Wiesz, co mam na my\u015bli \u2013 wprowadzanie poprawek do takich rzeczy.<\/p>\n<p>Po drugie, niekt\u00f3re pytania musz\u0105 by\u0107 dostosowane do zdalnych zespo\u0142\u00f3w, poniewa\u017c nie jeste\u015bmy ju\u017c wszyscy w tym samym biurze. Oznacza to, \u017ce zamiast przeprowadza\u0107 testy u\u017cyteczno\u015bci na korytarzu, by\u0107 mo\u017ce b\u0119dziesz musia\u0142 z\u0142apa\u0107 kogo\u015b, kogo znasz online, wys\u0142a\u0107 go do swojego \u015brodowiska testowego i zapyta\u0107 o projekt.<\/p>\n<h3>Test Joela dla WordPress<\/h3>\n<p>By\u0107 mo\u017ce dla tych z nas, kt\u00f3rzy u\u017cywaj\u0105 WordPressa jako podstawy rozwoju, nasz zestaw pyta\u0144 b\u0119dzie wygl\u0105da\u0142 mniej wi\u0119cej tak:<\/p>\n<ol>\n<li>Czy korzystasz z kontroli \u017ar\u00f3d\u0142a?<\/li>\n<li>Czy mo\u017cesz wykona\u0107 wdro\u017cenie w jednym kroku?<\/li>\n<li>Czy wykonujesz codzienne wdro\u017cenia?<\/li>\n<li>Czy masz baz\u0119 b\u0142\u0119d\u00f3w?<\/li>\n<li>Czy naprawiasz b\u0142\u0119dy przed napisaniem nowego kodu?<\/li>\n<li>Czy masz aktualny harmonogram?<\/li>\n<li>Masz wymagania i makiety?<\/li>\n<li>Czy programi\u015bci maj\u0105 ciche warunki pracy? Lub, je\u015bli jest zdalny, czy programi\u015bci mog\u0105 przej\u015b\u0107 w tryb \u201eNie przeszkadza\u0107&#8221;?<\/li>\n<li>Czy korzystasz z najlepszych narz\u0119dzi na rynku, albo czego\u015b darmowego i open source, czy czego\u015b premium?<\/li>\n<li>Czy masz tester\u00f3w? (I mog\u0119 zapyta\u0107, czy bud\u017cet projektu pozwala na pisanie test\u00f3w jednostkowych r\u00f3wnie\u017c do test\u00f3w automatycznych)?<\/li>\n<li>Czy kandydaci maj\u0105 pr\u00f3bki kodu dost\u0119pne w serwisie GitHub, blogu lub publicznie dost\u0119pnej lokalizacji, kt\u00f3re mo\u017cna przejrze\u0107?<\/li>\n<li>Czy masz grup\u0119 ludzi, z kt\u00f3rych mo\u017cesz wyci\u0105gn\u0105\u0107, aby przetestowa\u0107 swoj\u0105 prac\u0119 w toku?<\/li>\n<\/ol>\n<p>Ponownie, jest to w du\u017cej mierze oparte na idei ma\u0142ego, zdalnego zespo\u0142u, a nie du\u017cej firmy lub agencji produktowej na poziomie korporacyjnym. Ale jest to co\u015b, do czego wci\u0105\u017c wracam od czasu do czasu i zastanawiam si\u0119, jak inne sklepy wypadaj\u0105 naprzeciw siebie.<\/p>\n<p>Och, a ca\u0142a sprawa z punktacj\u0105?<\/p>\n<blockquote>\n<p>Wynik 12 jest doskona\u0142y, 11 jest zno\u015bny, ale 10 lub mniej i masz powa\u017cne problemy. Prawda jest taka, \u017ce \u200b\u200bwi\u0119kszo\u015b\u0107 organizacji zajmuj\u0105cych si\u0119 oprogramowaniem dzia\u0142a z wynikiem 2 lub 3 i potrzebuj\u0105 powa\u017cnej pomocy\u2026<\/p>\n<\/blockquote>\n<p>Wszyscy mamy co\u015b, do czego mo\u017cemy d\u0105\u017cy\u0107, prawda?<\/p>\n<h2>Na nast\u0119pn\u0105 dekad\u0119?<\/h2>\n<p>Nie chodzi o to, \u017ce my\u015bl\u0119, \u017ce to konkurs, ale wiem, \u017ce na wi\u0119kszo\u015b\u0107 tych pyta\u0144 chcia\u0142abym odpowiedzie\u0107 twierdz\u0105co dla siebie i dla tych, z kt\u00f3rymi pracuj\u0119.<\/p>\n<p>Ale w czasie tego artyku\u0142u mog\u0119 powiedzie\u0107, \u017ce nie mog\u0119 powiedzie\u0107 tak wszystkim tym wszystkim, nie m\u00f3wi\u0105c ju\u017c o mo\u017ce po\u0142owie z nich. By\u0107 mo\u017ce do ko\u0144ca roku zdo\u0142am.<\/p>\n<p>A mo\u017ce reszta z nas pracuj\u0105cych w bran\u017cy mo\u017ce oceni\u0107 nasze zespo\u0142y pod k\u0105tem tych pyta\u0144. Chocia\u017c Internet i zwi\u0105zane z nim technologie szybko si\u0119 rozwijaj\u0105, pytania te utrzymuj\u0105 si\u0119 dobrze od ponad dekady.<\/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>Test Joela, napisany 16 lat temu, polega na pisaniu lepszego kodu. Ale jak to si\u0119 ma do tego, co robimy z WordPressem?<\/p>\n","protected":false},"author":1,"featured_media":168259,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,919,845,866],"tags":[1169],"class_list":["post-228379","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-inny","category-samouczki","category-wordpress-7","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228379","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=228379"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/228379\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/168259"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=228379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=228379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=228379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}