{"id":228980,"date":"2022-10-20T10:17:00","date_gmt":"2022-10-20T07:17:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=228980"},"modified":"2022-11-09T05:02:37","modified_gmt":"2022-11-09T02:02:37","slug":"paremman-koodin-kirjoittaminen-wordpress-pohjaisiin-projekteihin","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/paremman-koodin-kirjoittaminen-wordpress-pohjaisiin-projekteihin\/","title":{"rendered":"Paremman koodin kirjoittaminen WordPress-pohjaisiin projekteihin"},"content":{"rendered":"\n<p>En muista tarkalleen, milloin t\u00f6rm\u00e4sin ensimm\u00e4isen kerran <a href=\"https:\/\/twitter.com\/spolsky\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Joel Spolskyn<\/a> blogiin <a href=\"https:\/\/www.joelonsoftware.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Joel on Software<\/a>, mutta se oli jossain vaiheessa my\u00f6h\u00e4ss\u00e4 lukiosta.<\/p>\n<p>En tiennyt tarpeeksi koko ohjelmistokehitysprosessista saadakseni paljon selv\u00e4\u00e4, mist\u00e4 h\u00e4n todella puhui, mutta nautin h\u00e4nen kirjoitustyylist\u00e4\u00e4n ja nautin h\u00e4nen sanomisistaan.<\/p>\n<p>Itse asiassa olin niin fani, ett\u00e4 valmistuttuani ostin h\u00e4nen kirjojaan (jotka olivat h\u00e4nen sivustonsa artikkelikokoelmia) ja luin ne kannesta kanteen. Pidin niiden kopioita p\u00f6yd\u00e4ll\u00e4ni t\u00f6iss\u00e4 ja k\u00e4ytin yht\u00e4 h\u00e4nen kirjaansa \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 ollessani ryhm\u00e4n johtaja.<\/p>\n<p>Eniten mieleeni j\u00e4iv\u00e4t artikkelit, jotka koskivat paremman koodin kirjoittamista. Asia on kuitenkin t\u00e4ss\u00e4: N\u00e4m\u00e4 artikkelit eiv\u00e4t sis\u00e4lt\u00e4neet mit\u00e4\u00e4n koodin kirjoittamisesta.<\/p>\n<h2>Paremman koodin kirjoittaminen<\/h2>\n<p>Sen sijaan kyse oli paremman koodin prosesseista. Ja t\u00f6rm\u00e4sin artikkeliin \u2013 joka oli kuitenkin 16-vuotias \u2013 ja pid\u00e4n sit\u00e4 edelleen yht\u00e4 ajantasaisena kuin silloin, kun l\u00f6ysin sen.<\/p>\n<p>Paitsi nyt, huomaan itsekin miettiv\u00e4ni, miten se soveltuu <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">nykyiseen kehityskeikkaani<\/a>.<\/p>\n<h3>Joelin testi<\/h3>\n<p>Ensinn\u00e4kin kyseinen artikkeli on sellainen, jota huomaan lukevani v\u00e4hint\u00e4\u00e4n kerran kuukaudessa \u2013 jos en ainakin kerran viikossa \u2013 ja kaikki py\u00f6rii sen ymp\u00e4rill\u00e4, mit\u00e4 h\u00e4n kutsuu <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\">Joel Testiksi<\/a>. Siin\u00e4 on kaksitoista kysymyst\u00e4, joita kohdistat nykyiseen kehitystiimiisi.<\/p>\n<ol>\n<li>K\u00e4yt\u00e4tk\u00f6 l\u00e4hteenhallintaa?<\/li>\n<li>Pystytk\u00f6 rakentamaan yhdess\u00e4 vaiheessa?<\/li>\n<li>Teetk\u00f6 p\u00e4ivitt\u00e4in rakennuksia?<\/li>\n<li>Onko sinulla bugitietokanta?<\/li>\n<li>Korjaatko virheet ennen uuden koodin kirjoittamista?<\/li>\n<li>Onko sinulla ajan tasalla oleva aikataulu?<\/li>\n<li>Onko sinulla spesifikaatiota?<\/li>\n<li>Onko ohjelmoijilla hiljaiset ty\u00f6olosuhteet?<\/li>\n<li>K\u00e4yt\u00e4tk\u00f6 parhaita ty\u00f6kaluja, joita rahalla voi ostaa?<\/li>\n<li>Onko sinulla testaajia?<\/li>\n<li>Kirjoittavatko uudet hakijat koodia haastattelunsa aikana?<\/li>\n<li>Teetk\u00f6 k\u00e4yt\u00e4v\u00e4n k\u00e4ytett\u00e4vyystestausta?<\/li>\n<\/ol>\n<p>Koska n\u00e4m\u00e4 kysymykset on kirjoitettu 16 vuotta sitten ja ne perustuvat suurelta osin k\u00e4\u00e4nnettyyn koodiin, osaa terminologiasta saattaa olla tarpeen muuttaa.<\/p>\n<blockquote>\n<p>Joel Testin hieno asia on, ett\u00e4 jokaiseen kysymykseen on helppo saada nopeasti <strong>kyll\u00e4<\/strong> \u200b\u200btai <strong>ei .<\/strong> Sinun ei tarvitse selvitt\u00e4\u00e4 koodirivej\u00e4 p\u00e4iv\u00e4ss\u00e4 tai keskim\u00e4\u00e4r\u00e4isi\u00e4 virheit\u00e4 k\u00e4\u00e4nnekohtaa kohti. Anna joukkueellesi 1 piste jokaisesta &quot;kyll\u00e4&quot;-vastauksesta.<\/p>\n<\/blockquote>\n<p>Esimerkiksi sen sijaan, ett\u00e4 kysyisimme, voitko tehd\u00e4 rakentamisesta yksivaiheisen, meid\u00e4n pit\u00e4isi ehk\u00e4 kysy\u00e4, voimmeko toteuttaa k\u00e4ytt\u00f6\u00f6noton yhdess\u00e4 vaiheessa. Tied\u00e4t mit\u00e4 tarkoitan \u2013 s\u00e4\u00e4t\u00f6jen tekemist\u00e4 sellaisiin asioihin.<\/p>\n<p>Toiseksi, osa kysymyksist\u00e4 on mukautettava et\u00e4ryhmille, koska emme ole en\u00e4\u00e4 samassa toimistossa. Toisin sanoen k\u00e4yt\u00e4v\u00e4n k\u00e4ytett\u00e4vyyden testaamisen sijaan saatat joutua nappaamaan jonkun tuttusi verkossa, l\u00e4hett\u00e4m\u00e4\u00e4n h\u00e4net testausymp\u00e4rist\u00f6\u00f6si ja kysym\u00e4\u00e4n h\u00e4nelt\u00e4 projektista.<\/p>\n<h3>Joelin testi WordPressille<\/h3>\n<p>Ehk\u00e4 niille meist\u00e4, jotka k\u00e4ytt\u00e4v\u00e4t WordPressi\u00e4 kehityksen perustana, kysymyksemme n\u00e4ytt\u00e4isiv\u00e4t suunnilleen t\u00e4lt\u00e4:<\/p>\n<ol>\n<li>K\u00e4yt\u00e4tk\u00f6 l\u00e4hteenhallintaa?<\/li>\n<li>Voitko toteuttaa k\u00e4ytt\u00f6\u00f6noton yhdess\u00e4 vaiheessa?<\/li>\n<li>Teetk\u00f6 p\u00e4ivitt\u00e4isi\u00e4 k\u00e4ytt\u00f6\u00f6nottoja?<\/li>\n<li>Onko sinulla bugitietokanta?<\/li>\n<li>Korjaatko virheet ennen uuden koodin kirjoittamista?<\/li>\n<li>Onko sinulla ajan tasalla oleva aikataulu?<\/li>\n<li>Onko sinulla vaatimuksia ja malleja?<\/li>\n<li>Onko ohjelmoijilla hiljaiset ty\u00f6olosuhteet? Vai voivatko ohjelmoijat siirty\u00e4 &quot;\u00c4l\u00e4 h\u00e4iritse&quot; -tilaan, jos ne ovat et\u00e4k\u00e4yt\u00f6ss\u00e4?<\/li>\n<li>K\u00e4yt\u00e4tk\u00f6 markkinoiden parhaita ty\u00f6kaluja, joko jotain ilmaista ja avoimen l\u00e4hdekoodin tai jotain premium-ty\u00f6kalua?<\/li>\n<li>Onko sinulla testaajia? (Ja voisin kysy\u00e4, riitt\u00e4\u00e4k\u00f6 projektin budjetti my\u00f6s automaattisen testauksen yksikk\u00f6testien kirjoittamiseen)?<\/li>\n<li>Onko hakijoilla saatavilla koodin\u00e4ytteit\u00e4 GitHubista, blogista tai julkisesti saatavilla olevasta sijainnista, joka voidaan tarkistaa?<\/li>\n<li>Onko sinulla joukko ihmisi\u00e4, joista voit testata keskener\u00e4ist\u00e4 ty\u00f6t\u00e4si?<\/li>\n<\/ol>\n<p>T\u00e4m\u00e4 taas perustuu suurelta osin ajatukseen pienest\u00e4 et\u00e4tiimist\u00e4 pikemminkin kuin suuresta yritystason tuoteyrityksest\u00e4 tai toimistosta. Mutta se on asia, johon palaan yh\u00e4 silloin t\u00e4ll\u00f6in ja ihmettelen, kuinka muut kaupat pinoavat toisiaan vastaan.<\/p>\n<p>Ja koko pisteytysjuttu?<\/p>\n<blockquote>\n<p>Pistem\u00e4\u00e4r\u00e4 12 on t\u00e4ydellinen, 11 on siedett\u00e4v\u00e4, mutta 10 tai v\u00e4hemm\u00e4n ja sinulla on vakavia ongelmia. Totuus on, ett\u00e4 useimmat ohjelmistoorganisaatiot toimivat pisteill\u00e4 2 tai 3, ja ne tarvitsevat vakavaa apua\u2026<\/p>\n<\/blockquote>\n<p>Meill\u00e4 kaikilla on jotain, mihin t\u00e4hd\u00e4t\u00e4, eik\u00f6 niin?<\/p>\n<h2>Seuraavalle vuosikymmenelle?<\/h2>\n<p>Kyse ei ole niink\u00e4\u00e4n siit\u00e4, ett\u00e4 luulen sen olevan kilpailu, mutta tied\u00e4n, ett\u00e4 haluaisin vastata kyll\u00e4 \u200b\u200buseimpiin n\u00e4ihin kysymyksiin itselleni ja niille, joiden kanssa ty\u00f6skentelen.<\/p>\n<p>Mutta t\u00e4m\u00e4n artikkelin kirjoittamishetkell\u00e4 voin sanoa, ett\u00e4 en voi sanoa kyll\u00e4 \u200b\u200bkaikille n\u00e4ist\u00e4, saati ehk\u00e4 puolesta niist\u00e4. Ehk\u00e4 vuoden loppuun menness\u00e4 voin kuitenkin.<\/p>\n<p>Ja ehk\u00e4 me muut alalla ty\u00f6skentelev\u00e4t voimme arvioida tiimej\u00e4mme n\u00e4iden kysymysten perusteella. Vaikka Internet ja siihen liittyv\u00e4t teknologiat kehittyv\u00e4t nopeasti, n\u00e4m\u00e4 kysymykset ovat pysyneet hyvin esill\u00e4 yli vuosikymmenen ajan.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>16 vuotta sitten kirjoitetussa Joel Testiss\u00e4 on kyse paremman koodin kirjoittamisesta. Mutta miten se liittyy siihen, mit\u00e4 teemme WordPressin kanssa?<\/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":[719,917,843,864],"tags":[1166],"class_list":["post-228980","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-muut","category-opetusohjelmia","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/228980","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=228980"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/228980\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/168259"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=228980"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=228980"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=228980"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}