HEI ME KOODATAAN!

 

 

Code in the Woods Day 3 - Prototype

 

UX-suunnitteluntäyteisen tiistain jälkeen Code in the Woods tiimit pääsivät vihdoin koodaamaan täyttä häkää. Aamulla pohjatiedoiksi otettiin selainkehityksen knoppeja ja API-koodausta, jonka jälkeen tiimit lähtivät toteuttamaan kukin omia projektejaan. Tiimien fiiliksiä kysyttäessä yleisin vastaus meni jotakuinkin näin: “Yllättävän hyvin menee!” Tähän löytyi montakin syytä, joista osa oli tullut monelle tiimille uutena. Tässä muutamat päivän aikana esiin tulleet opit yhdestä kuuteen:

1. Tiedä mitä teet.

Kahden edellispäivän aikana tiimit ovat paitsi huolehtineet ympäristöt ja muut perusasiat kuntoon, myös kristallisoineet ja luonnostelleet ideansa sekä suunnitelleet sen ensimmäisen version varsin tiivistunnelmaisessa designsessiossa. Lisäksi tiimit olivat jakaneet tehtäviä taskeihin ja priorisoineet niitä toimivaan päivän työstöjärjestykseen. Kun tehtävät ovat tiedossa, ei tarvitse jäädä arpomaan mitä tehdä.

“Meillä on tässä hyvin yksinkertainen versio pääideasta: käyttäjä voi reagoida tiettyyn kohtaan videota”. -Code in the Woods tiimi Niina, Tunde, Jami ja Felix

Image uploaded from iOS.jpg

2. Käytä valmiita sapluunoita.

Hyvä pohjatyö auttaa muutenkin: kun API on tiedossa ja dokumentoitu, softalle löytyy pohja ja työkalut valmiina, käyntiin pääsee nopeasti.

Aika harvoin projektia kannattaa aloittaa täysin nollista. Useimmilla frameworkeillä on oma “Hello world”-starttipakettinsa, jossa tärkeimmät riippuvuudet ovat valmiina ja rakenne noudattaa sovittuja konventioita. Se helpottaa paitsi aloittamista myös useamman ihmisen tekemistä: konventiot niin nimeämisessä kuin hakemistorakenteessakin helpottavat tekemistä.

3. Jätä toisto koneelle - buildityökalu on painonsa arvoista kultaa

Ensimmäisiä projekteja yksin tehdessä Gulpin kaltaiset buildinhallintatyökalut voivat tuntua turhanpäiväisiltä. Eikös tämän saman homman saa tehtyä skriptillä suoraan komentoriviltä?

Ongelmia alkaa kuitenkin tulla, kun scope kasvaa ja halutaan tehdä myös kunnolla. Skriptirivi kasvaa pituutta, sitä pitää muokata eri käyttötapauksia varten, tai softan käynnistys alkaa vaatia useamman rivin ja alat pohtia käynnistysloitsujen siirtoa omaan shelliskriptiinsä.

Haluat ehkä että javascriptit kerätään build-tiedostoonsa, ja ne kerätään kuvien kera dist-hakemistoon. Kehityksessä halutaan ehkä käyttää eri rajapintoja kuin julkaistavassa versiossa. Softalle halutaan ajaa linttiä tai minimoida tai obfuskoida javascript-filet.

Tässä työkaluksi apuun tulee buildityökalu. Niitä on monenlaisia ja moneen lähtöön, mutta yhteistä on, että ne huolehtivat riippuvuuksista, käynnistämisestä ja monista pienemimistä tehtävistä. Niitä voi myös yhdistää toisiinsa. Buildityökalut ovat alan standardi ja useimmat ammattilaiset muistavat (tai käyttävät edelleen) esimerkiksi Makefilea, joka on ollut C++-ohjelmien de facto buildityökau. Grunt ja sittemmin Gulp ovat vallanneet sijaa Javascript-maailmassa. Työkaluissa kestää toki hetki oppia, mutta se on sen väärti

4. Pidä koodi siistinä - lintteri

Kaksi vai neljä merkkiä indentaatiota? Koodarien ikuisuustaistelu on välillä turhauttava, mutta silläki on merkityksensä: koodin on syytä näyttää yhtenäiseltä jotta sitä on helppo lukea ja muuttaa. Lintteri voi tarkistaa sisennykset, mutta se tekee paljon muutakin: tarkistaa nimeämiskäytäntöjä, varoittaa mahdollisista sudenkuopista ja auttaa tiimiä noudattamaa kovaa kuria. Äitisi ei siivoa täällä, joudut itse tekemään sen.

5. “Gitti on kova” - Käytä versionhallintaa!

Neljänkin hengen projekti alkaa mennä mahdottomaksi ilman versionhallintaa. Oivallus onkin, miten paljon helpompaa koodia on jakaa isommallakin porukalla kun merget ja diffit hoitaa kone, ei yksi tiimin jäsen silmät ristissä ;)

6. Käytä työkaluja myös projektinhallintaan

Joskus post-it riittää, mutta esim. Trello on hyvä ja yksinkertainen työkalu todo-listan hallintaan ja priorisoitiin. Muista tehdä valmiita, julkaistavia kokonaisuuksia.

Tätä kirjoittaessa ulkona on pimeää ja sisällä valoa tulee paristakymmenestä läppärin ruudusta. MVP on monella lähelle valmista: softa ei näytä vielä kovin hyväoltä mutta ainakin jokin päätoiminnallisuus on jo valmiina. Tekeminen jatkuu myöhään yöhön ja huomenna päästään viimeistelemään.

 

Kirsi Louhelainen,

Code in the Woods mentori, Barona Technologies