Huonoa ja hyvää koodia

Olen tähän mennessä kirjoitellut kaikenlaista koodista, mutta riviäkään oikeaa koodia ei ole näkynyt. Se muuttuu nyt. Lähdetään vastaesimerkin kautta ja katsotaan ensin vähän huonoa koodia.

Huonoa koodia

Tämä koodi on PHP:tä. PHP on ohjelmointikieli, jota suurin osa koodaajista ei pidä minkään arvoisena. Se on siis kieli, jonka päälle Facebook on rakennettu ja joka on käytössä noin puolella internetin sivuista.

Tämä koodi ottaa yhteyden MySQL-tietokantaan. Se tehdään käyttäen PHP:n sisäistä tietokantafunktiota. Tämä koodi ei ole modernia. Moderni PHP on olio-ohjelmointikieli, joka näyttää vähän vanhalta Javalta. Myöskään käytetty funktio ei ole enää suositeltu tapa kommunikoida tietokannan kanssa. Se on koodin…


Osallistuin alkukesästä Talentedin kesäjuhliin. Paljon koodareita hienoissa puitteissa syömässä hyvin ja juomassa paljon. Tällaisessa seurassa keskustelu kääntyy helposti teknologiaan. Juttelin porealtaan reunalla tuoreen koodari-tuttavan kanssa ja nyökyttelimme hyväksyvästi molemmat ajatukselle, että koodauksessa oleellisinta on koodin tuottama arvo (business value). Kun sitten mainitsin, että copy-pastekin on joskus hyvä asia, alkoi yhteinen näkemys selvästi rakoilla. Pian tilanne eskaloitui jo täydeksi tappeluksi. Tai no sen verran tappeluksi mihin kaltaiseni ruipelo ja rauhaa rakastava nörtti nyt pystyy. Eli kuvaavampi termi olisi sanaharkka.

Tämän tapauksen innoittamana päätin perustella ihan julkisesti miksi copy-paste on mielestäni hyvä asia. Siihen on kaksi yksinkertaista syytä.

1. Copy-paste on tehokasta

Toimivan koodin tuottaminen on…


Palasin viime viikolla muutaman vapaapäivän jälkeen töihin. Lueskelin läpi tällä aikaa käydyt keskustelut ja näin sieltä, että tuotantoympäristön Rediksen kanssa on ollut ongelmia. AWSn Redis-palvelussa on dokumentoimaton yläraja uusille yhteyksille. Pellin alla palvelu pyörii tietysti Linux-pannuilla ja niissä on aina rajallinen määrä portteja käytössä. Jos koodi käyttää paljon Redistä, niin uusien Redis-yhteyksien määrä voi ylittää koko käyttöjärjestelmän vapaiden porttien määrän. Tällöin Redikseen ei yhtäkkiä saakaan yhteyttä ja päädytään ongelmiin. Jos saitilla ei ole käyttäjiä, niin tällaisiin ylärajoihin törmäämisestä voi vain haaveilla. Silloin kun pyöritetään liikennemääriltään Suomen top kympissä olevaa saittikokonaisuutta, joka käyttää paljon Redistä, tilanne onkin erilainen. Ihan normaali käyttäjäliikenne…

Samuli Siivonen

Samuli Siivonen Oyn vanhempi konsultti, neljän nuoremman konsultin isä, Batmanin alainen ja superkoodari

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store