{"id":230642,"date":"2022-12-01T19:00:00","date_gmt":"2022-12-01T16:00:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230642"},"modified":"2022-11-09T23:20:10","modified_gmt":"2022-11-09T20:20:10","slug":"laehetae-tai-kuole-laadulla-vai-ilman","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/laehetae-tai-kuole-laadulla-vai-ilman\/","title":{"rendered":"L\u00e4het\u00e4 tai kuole (laadulla vai ilman?)"},"content":{"rendered":"\n<p>Yksi minua kiehtovista ajatuksista on &quot;l\u00e4het\u00e4 tai kuole&quot; -mentaliteetti. Mit\u00e4 tulee sen nimeen, siit\u00e4 on muunnelmia, mutta lauseen idea on yksinkertainen:<\/p>\n<p>Jos sinulla on idea, hanki se konseptista tuotteeksi mahdollisimman nopeasti.<\/p>\n<p>Toki ajatusta tuotteen konseptiin p\u00e4\u00e4semisest\u00e4 voidaan kutsua my\u00f6s &quot;konseptiksi k\u00e4teiseksi&quot;, mutta koskaan ei ole takeita siit\u00e4, ett\u00e4 aiot tuottaa rahaa, eik\u00f6 niin? On kuitenkin takuu, ett\u00e4 saat siit\u00e4 konkreettisen tuotteen.<\/p>\n<p>Ja ohjelmistokehityspiireiss\u00e4 on aina paljon, mit\u00e4 henkil\u00f6 voi v\u00e4itt\u00e4\u00e4 ajatuksen puolesta tai vastaan. P\u00e4\u00e4st\u00e4ni heti mieleen tulevat kaksi plussaa ja miinusta:<\/p>\n<ol>\n<li><strong>Pro<\/strong>. Tehd\u00e4\u00e4n nopeasti jotain, joka toimii ja joka [mahdollisesti] tuottaa tuloja.<\/li>\n<li><strong>Con<\/strong>. Heikko arkkitehtuuri, yll\u00e4pito, skaalautuvuus, testattavuus ja niin edelleen.<\/li>\n<\/ol>\n<p>Lyhyesti sanottuna voi olla kompromissi sen v\u00e4lill\u00e4, kuinka nopeasti saat toimituksen markkinoille, ja projektin taustalla olevan arkkitehtuurin v\u00e4lill\u00e4. Joskus on, joskus ei. Yleisesti ottaen uskon kuitenkin, ett\u00e4 on turvallista olettaa edellinen.<\/p>\n<p>Lis\u00e4ksi jotkut saattavat n\u00e4hd\u00e4 edellisen helpona ulosp\u00e4\u00e4syn\u00e4, jotkut saattavat n\u00e4hd\u00e4 j\u00e4lkimm\u00e4isen harjoituksena YAGNIssa tai viel\u00e4 yksinkertaisemmin, ett\u00e4 ongelmaan voidaan puuttua aina, kun se tulee esiin.<\/p>\n<p>Mutta mit\u00e4 tekemist\u00e4 t\u00e4ll\u00e4 on mink\u00e4\u00e4n kanssa t\u00e4ll\u00e4 hetkell\u00e4?<\/p>\n<h2>L\u00e4het\u00e4 tai kuole?<\/h2>\n<p>Koko syy siihen, miksi k\u00e4yt\u00e4n aikaa t\u00e4m\u00e4n kirjoittamiseen, on se, ett\u00e4 min\u00e4 ja ep\u00e4ilen muiden alallamme ajattelevan sit\u00e4 ainakin v\u00e4h\u00e4n. Kaikki t\u00e4m\u00e4 on hyv\u00e4 ja hyv\u00e4, kun puhutaan siit\u00e4 abstraktissa mieless\u00e4, mutta yrit\u00e4n yhdist\u00e4\u00e4 sen johonkin hieman realistisempaan.<\/p>\n<h3>Olipa kerran\u2026<\/h3>\n<p>Muutama vuosi sitten etup\u00e4\u00e4n kehitys koostui sis\u00e4ll\u00f6n k\u00e4\u00e4rimisest\u00e4 rivi- tai lohkotason elementteihin ja niiden muotoilusta perus-CSS:ll\u00e4?<\/p>\n<p>Meill\u00e4 oli kehittyneit\u00e4 ty\u00f6kaluja taustakoodimme kanssa ty\u00f6skentelyyn, mutta k\u00e4ytt\u00f6liittym\u00e4 oli suhteellisen yksinkertainen lukuun ottamatta kenties yrityksen tai tiimin, jonka kanssa ty\u00f6skentelimme, noudattamia koodausstandardeja.<\/p>\n<h3>Mutta toisaalta\u2026<\/h3>\n<p>Laitteemme ovat kehittyneet (mit\u00e4 pid\u00e4n tekniikassa hyv\u00e4n\u00e4 ja jopa luonnollisena asiana). Mainitun edistyksen ohella meill\u00e4 on nyt erityisesti k\u00e4ytt\u00f6liittym\u00e4kehitykseen tarkoitettuja rakennusty\u00f6kaluja, jotka ovat joiltakin osin yht\u00e4 edistyneit\u00e4 kuin taustaohjelmistoissa k\u00e4ytt\u00e4m\u00e4mme ty\u00f6kalut.<\/p>\n<p>Toki meill\u00e4 on joitakin, jotka ovat &quot;t\u00e4yden pinon kehitt\u00e4ji\u00e4&quot;, mutta olen iloinen voidessani my\u00f6nt\u00e4\u00e4, ett\u00e4 olen paljon mukavampi ty\u00f6skennell\u00e4 palvelinpuolella kuin k\u00e4ytt\u00f6liittym\u00e4ss\u00e4. Jos ty\u00f6skentelen etuosan parissa, minulla on tapana pysy\u00e4 tutuissa ty\u00f6kaluissa ja yritt\u00e4\u00e4 pysy\u00e4 sen kaistan m\u00e4\u00e4ritt\u00e4mien suojakaiteiden sis\u00e4ll\u00e4, jolla toimin.<\/p>\n<p>Se auttaa pit\u00e4m\u00e4\u00e4n kehityksen keskittyneen\u00e4, nopeana ja johdonmukaisena projekteissa.<\/p>\n<h2>Okei, mit\u00e4 j\u00e4rke\u00e4 on?<\/h2>\n<p>Sin\u00e4ns\u00e4 t\u00e4m\u00e4 osio voisi olla pitk\u00e4 postaus, mutta en ole kiinnostunut menem\u00e4\u00e4n niin pitk\u00e4lle. Sen sijaan otan yhden osan siit\u00e4, miten k\u00e4ytt\u00f6liittym\u00e4kehitys toimii juuri nyt, ja katson, enk\u00f6 voi k\u00e4ytt\u00e4\u00e4 sit\u00e4 tehd\u00e4kseni kantani selv\u00e4ksi.<\/p>\n<h3>Saada Sassy<\/h3>\n<p>Otetaan esimerkiksi se, mik\u00e4 CSS:st\u00e4 on tullut. Meill\u00e4 on kieli\u00e4 kielten lis\u00e4ksi (kuten <strong><a href=\"https:\/\/sass-lang.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Sass<\/a><\/strong>, joka istuu perus-CSS:n p\u00e4\u00e4ll\u00e4 tai t\u00e4ydent\u00e4\u00e4 sit\u00e4).<\/p>\n<p>Ja meill\u00e4 on prosessoreita, jotka kokoavat, pienent\u00e4v\u00e4t, nukkaavat ja est\u00e4v\u00e4t meit\u00e4 n\u00e4kem\u00e4st\u00e4 ty\u00f6t\u00e4mme ennen kuin tietyt virheet ja varoitukset on korjattu laadun vuoksi. (En pid\u00e4 t\u00e4t\u00e4 huonona asiana, mutta se osoittaa k\u00e4ytt\u00f6liittym\u00e4mme ty\u00f6kalujen kasvavan monimutkaisuuden \u2013 tai ehk\u00e4 kypsyyden).<\/p>\n<blockquote>\n<p>Etup\u00e4\u00e4n kehitt\u00e4minen on aivan liian helppoa. Tehd\u00e4\u00e4n siit\u00e4 monimutkaisempi, jotta voimme tuntea olonsa \u00e4lykk\u00e4\u00e4mmiksi niiden kollegoidemme joukossa, jotka ilmeisesti k\u00e4sittelev\u00e4t liiketoiminnan &quot;kriittisempi\u00e4&quot; puolia. Muista, ett\u00e4 t\u00e4m\u00e4 on kilpailu.<\/p>\n<\/blockquote>\n<p><strong><a href=\"https:\/\/medium.com\/@julienetienne\/unnecessarily-complicating-front-end-development-to-feel-like-a-smarter-person-5e555fe650ed\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">T\u00e4ss\u00e4 artikkelissa<\/a><\/strong> on humoristinen n\u00e4k\u00f6kulma koko asiaan.<\/p>\n<h3>Kohtuullinen laatu<\/h3>\n<p>Selvyyden vuoksi en v\u00e4it\u00e4, ett\u00e4 t\u00e4m\u00e4 on huono asia, mutta sanon, ett\u00e4 asiat, jotka aiemmin j\u00e4iv\u00e4t palvelinpuolelle tai k\u00e4\u00e4nnetyille kielille, ulottuvat nyt verkkosovelluksen koko kehityspinon l\u00e4pi.<\/p>\n<p>Mahdollisimman kristallinkirkas: kannatan laatua. Asioiden l\u00e4hett\u00e4minen ilman mink\u00e4\u00e4nlaista sit\u00e4 voidaan n\u00e4hd\u00e4 vastuuttomuuden harjoituksena.<\/p>\n<p>Mutta uskon my\u00f6s, ett\u00e4 on l\u00f6ydett\u00e4v\u00e4 tasapaino optimaalisimman, toimivimman ja tehokkaimman koodin kirjoittamisen v\u00e4lill\u00e4 ajan ja budjetin rajoitusten puitteissa.<\/p>\n<p>En usko, vaikka kuinka kovasti yrit\u00e4mmekin pakottaa sit\u00e4 itsellemme, ett\u00e4 el\u00e4mme kehitt\u00e4j\u00e4utopiassa, jossa voimme optimoida, suunnitella ja toteuttaa koskemattomia j\u00e4rjestelmi\u00e4 jokaisessa yksitt\u00e4isess\u00e4 projektissa.<\/p>\n<p>N\u00e4ytt\u00e4\u00e4 kuitenkin silt\u00e4, \u200b\u200bett\u00e4 olemme yritt\u00e4neet parhaamme luodaksemme sen, eik\u00f6 niin?<\/p>\n<p>Mutta eik\u00f6 jossain vaiheessa kannata kysy\u00e4, poistavatko kaikki luomamme ty\u00f6kalut ja kaikki projekteihin lis\u00e4\u00e4m\u00e4mme asiat sen asian, joka sai meid\u00e4t alunperinkin alalle? My\u00f6nnett\u00e4k\u00f6\u00f6n, ett\u00e4 joillekin meist\u00e4 t\u00e4m\u00e4 on todenn\u00e4k\u00f6isesti erilainen. Onko reilua kysy\u00e4, ett\u00e4 idean omaaminen, koodin kirjoittaminen sen toteuttamiseksi ja sen ratkaisevan ongelman n\u00e4keminen ovat se, mik\u00e4 toi meid\u00e4t ketjuun?<\/p>\n<p>T\u00e4ss\u00e4 vaiheessa olemme kuitenkin ottaneet k\u00e4ytt\u00f6\u00f6n niin monia ty\u00f6kaluja, ett\u00e4 kehitysymp\u00e4rist\u00f6n saaminen k\u00e4ytt\u00f6\u00f6n tietokannasta selaimeen k\u00e4ynniss\u00e4 olevalle verkkosovellukselle on pelottava teht\u00e4v\u00e4.<\/p>\n<p>Niin monia asioita on tapahduttava ennen kuin olemme todella valmiita aloittamaan koodin kirjoittamisen, ett\u00e4 siit\u00e4 voi tulla tyls\u00e4\u00e4 ja jopa hieman uuvuttavaa jo pelkk\u00e4 alkuvaihe.<\/p>\n<h2>Henkil\u00f6kohtainen, lopullinen mielipide<\/h2>\n<p>Haluan soveltaa vahvoja oliokeskeisi\u00e4 k\u00e4yt\u00e4nt\u00f6j\u00e4 ja ty\u00f6kaluja monissa projekteissa, joissa ty\u00f6skentelen tiimini kanssa ja jotka l\u00e4het\u00e4n muille, koska tied\u00e4n kokemuksesta, ett\u00e4 aika, dollarit ja tiedot, jotka voidaan menett\u00e4\u00e4 jostain, ei ole t osoitettu kaikilta puolilta.<\/p>\n<p>T\u00e4m\u00e4 ei tarkoita sit\u00e4, ett\u00e4 toimittaminen nopeasti mit\u00e4t\u00f6isi mit\u00e4\u00e4n. Mutta projektin taustalla olevan koodin prosessi ja organisointi on jotain, jota minun on hyvin vaikea j\u00e4tt\u00e4\u00e4 huomiotta niin paljon, ett\u00e4 tuntuu l\u00e4hes halvaantuneelta l\u00e4hett\u00e4\u00e4 jotain, jota ei ole testattu ja tarkistettu parhaalla mahdollisella tavalla (ja silloinkin on ongelmia).<\/p>\n<p>Toisaalta osa minusta haluaa kokeilla ideaa tai kahta &quot;l\u00e4het\u00e4 tai kuole&quot; -ajattelun takana vain n\u00e4hd\u00e4, kuinka nopeasti jotain voidaan rakentaa, toimittaa ja tuottaa kaikenlaisia \u200b\u200btuloja riippumatta siit\u00e4, kuinka turmeltumaton. koodipohja on.<\/p>\n<p>Ja ehk\u00e4 yrit\u00e4n sit\u00e4 joissakin tulevissa projekteissa.<\/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>Vaikka minusta ajatus &#8221;l\u00e4het\u00e4 tai kuole&#8221; on kiehtova, kamppailen silti sen kanssa, kuinka paljon on liikaa laadun varmistamisen kannalta.<\/p>\n","protected":false},"author":1,"featured_media":163522,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719],"tags":[1166],"class_list":["post-230642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230642","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=230642"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/230642\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/163522"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=230642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=230642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=230642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}