{"id":230148,"date":"2022-12-05T12:32:00","date_gmt":"2022-12-05T09:32:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230148"},"modified":"2022-11-09T20:18:49","modified_gmt":"2022-11-09T17:18:49","slug":"wielkosc-projektu-i-zachowanie-prostoty","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/wielkosc-projektu-i-zachowanie-prostoty\/","title":{"rendered":"Wielko\u015b\u0107 projektu i \u201ezachowanie prostoty\u201d"},"content":{"rendered":"<p>Z jakiego\u015b powodu istnieje sta\u0142e napi\u0119cie (przynajmniej je\u015bli o mnie chodzi) mi\u0119dzy u\u017cyteczno\u015bci\u0105 budowania czego\u015b dla kogo\u015b a ilo\u015bci\u0105 czasu potrzebnego do zbudowania tej rzeczy.<\/p>\n<p>Rozumiem przez to, \u017ce je\u015bli chodzi o WordPress, stosunkowo \u0142atwo jest zbudowa\u0107 ma\u0142e, proste wtyczki i narz\u0119dzia dla innych, kt\u00f3re niekoniecznie stosuj\u0105 si\u0119 do nowoczesnych najlepszych praktyk.<\/p>\n<p>A je\u015bli chodzi o ten post, to powiedzia\u0142bym, \u017ce wsp\u00f3\u0142czesne najlepsze praktyki to co\u015b takiego:<\/p>\n<ul>\n<li>mened\u017cer pakiet\u00f3w po stronie serwera,<\/li>\n<li>mened\u017cer pakiet\u00f3w po stronie klienta,<\/li>\n<li>prawid\u0142owe testowanie jednostkowe,<\/li>\n<li>dobrze zaprojektowane zaj\u0119cia,<\/li>\n<li>udokumentowany kod,<\/li>\n<li>i tak dalej.<\/li>\n<\/ul>\n<p>A wszystko to jest \u015bwietne i prawdopodobnie konieczne w przypadku wi\u0119kszych projekt\u00f3w (zw\u0142aszcza, \u017ce \u200b\u200butrzymanie i konsekwentny rozw\u00f3j b\u0119d\u0105 odgrywa\u0107 tak istotn\u0105 rol\u0119).<\/p>\n<h2>Utrzymywanie prostoty<\/h2>\n<p>Ale co z mniejszymi projektami, w kt\u00f3rych jeste\u015b mniej wi\u0119cej jedynym zarz\u0105dc\u0105 bazy kodu? Nie m\u00f3wi\u0119, \u017ce nie powinno si\u0119 wprowadza\u0107 dobrych praktyk. My\u015bl\u0119, \u017ce powinni\u015bmy:<\/p>\n<ul>\n<li>posiada\u0107 dobrze udokumentowan\u0105 baz\u0119 kod\u00f3w,<\/li>\n<li>projekt funkcji lub klasy, kt\u00f3ry zapewnia przysz\u0142y rozw\u00f3j,<\/li>\n<li>i optymalizacja kodu zar\u00f3wno po stronie klienta, jak i po stronie serwera<\/li>\n<\/ul>\n<p>Ale czy to oznacza, \u017ce \u200b\u200bte projekty musz\u0105 mie\u0107 du\u017ce katalogi <strong>dostawc\u00f3w<\/strong> lub du\u017ce katalogi <strong>node_modules<\/strong>? <\/p>\n<p>Zdj\u0119cie Artura Pokusina na Unsplash<\/p>\n<p><strong><a href=\"https:\/\/quoteinvestigator.com\/2011\/05\/13\/einstein-simple\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Kr\u00f3tko m\u00f3wi\u0105c<\/a><\/strong>, nie s\u0105dz\u0119. My\u015bl\u0119, \u017ce to prowadzi do nadmiernej in\u017cynierii.<\/p>\n<blockquote>\n<p>Uczy\u0144 wszystko tak prostym, jak to tylko mo\u017cliwe, ale nie prostszym.<\/p>\n<\/blockquote>\n<p>Nie oznacza to, \u017ce rezygnujemy z dba\u0142o\u015bci o pisanie wysokiej jako\u015bci kodu w kontek\u015bcie naszego IDE.<\/p>\n<h2>Potencjalne wytyczne<\/h2>\n<p>Ale mo\u017ce na tym si\u0119 ko\u0144czy. To znaczy, \u017ce mo\u017ce dobr\u0105 zasad\u0105 jest:<\/p>\n<ul>\n<li>Je\u015bli projekt b\u0119dzie wymaga\u0142 ci\u0105g\u0142ej integracji, powinien mie\u0107 niezb\u0119dne bariery, aby wymusi\u0107 jako\u015b\u0107 zar\u00f3wno lokalnie, jak i w \u015brodowiskach pomostowych oraz proces ci\u0105g\u0142ej integracji.<\/li>\n<li>Je\u015bli projekt ma zosta\u0107 zbudowany, a nast\u0119pnie wydany (i to robiony iteracyjnie), to wi\u0119kszo\u015b\u0107 jako\u015bci powinna by\u0107 mierzona i egzekwowana za po\u015brednictwem IDE.<\/li>\n<\/ul>\n<p>Nie wiem, czy jest to najlepszy spos\u00f3b, aby do tego podej\u015b\u0107, ale zastanawia\u0142em si\u0119 nad tym i nadal dochodz\u0119 do powy\u017cszego zestawu przys\u0142owiowych barier.<\/p>\n<p>Obecnie pisz\u0119 e-booka (wraz z wieloma innymi tre\u015bciami premium). Je\u015bli jeste\u015b zainteresowany, <a href=\"https:\/\/tommcfarlin.com\/registration-info\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sprawd\u017a co otrzymujesz<\/a>.<\/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>W zale\u017cno\u015bci od wielko\u015bci projektu, by\u0107 mo\u017ce liczy si\u0119 stopie\u0144, w jakim skupiamy si\u0119 na prostocie. Jak jednak mo\u017ce to wygl\u0105da\u0107 i jak to robimy?<\/p>\n","protected":false},"author":1,"featured_media":162759,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721],"tags":[1169],"class_list":["post-230148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230148","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=230148"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/230148\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/162759"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=230148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=230148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=230148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}