Moringan koulu

Seuraava

elokuu 4, 2020 – 4 min read

By Jerrie Agunya & Geoffrey Matieso

Lopeta se harhaluulo, että sinun täytyy osata C++:ta, java tätä frameworkia, tuota frameworkia jne, jotta onnistuisit parhaassa koodauskäytännössä. Sinun on opittava olemaan luovuttamatta. Yleensä parhaan koodauskäytännön saavuttamisen matkan alkupuolella asiat muuttuvat todella vaikeiksi, ja se on tosiasia.

Se, että koodi näyttää ihan koodilta sellaiselle, joka ei osaa koodata, on totta, mutta jotkut asiat erottuvat, kun arvioidaan ohjelmoijan taitoja. Mistä siis tunnistaa hyvän ohjelmoijan, jolla on parhaat koodaustaidot? Keskustelemme ja vertailemme muutamia seuraavassa alaotsikossa.

Koodin laatu

Insinööri ja kirjailija Martin Fowler sanoi:

”Kuka tahansa hölmö voi kirjoittaa koodia, jota tietokone ymmärtää, hyvä ohjelmoija kirjoittaa koodia, jota ihminen ymmärtää.”

Hyvä ohjelmoija käyttää aikaa koodiensa dokumentoimiseen, mutta on todennäköistä, että ohjelmoija voi olla, että hän ei ymmärrä koodiaan, kun hän tarkastelee sitä uudestaan muutamien kuukausien kuluttua. He pitävät tiimikaverinsa tyytyväisinä koodiinsa eikä epätoivoissaan, on huono käytäntö pullistella koodia, joka on kirjoitettu tulevaa ylläpidettävyyttä silmällä pitäen. Tällä tarkoitamme sitä, että koodia ei ole kirjoitettu koodipohjan kasvua varten, ja jos päivitys tai uusi ominaisuus pitää toteuttaa, siitä tulee sotkuista, virheitä täynnä ja rikkoutuu.

Koodin laatu on tärkeää skaalautuvuuden kannalta, koodin pitäisi olla oikein jäsenneltyä, siistiä, hyvin dokumentoitua ja oikealla muotoilulla varustettua, rakennettu testattavaksi haavoittuvuuksien välttämiseksi.

Nopeaa ja sotkuista koodia on nopeaa, joo! Mutta ajattele vain, kuinka monta tuntia menisi tulevaisuudessa tuon koodin virheenkorjaukseen.

Edellytykset.

Ennen koodauksen aloittamista kaikki tarvittavat edellytykset on suoritettava, jotta koodaukselle saadaan vankka perusta. Näitä ovat elinkaari, arkkitehtuuri, suunnittelu ja ohjelmointikielen valinta. Ohjelmistokehitysmenetelmät auttavat jäsentämään, suunnittelemaan ja valvomaan projektin elinkaarta. Ohjelmistoarkkitehtuuri määrittää, mitä on tehtävä ja mikä ohjelmakomponentti sen tekee. Se määrittelee tehokkaasti eri ohjelmien välisen rajapinnan, kun ohjelmistojärjestelmä sisältää monia ohjelmia.

Arkkitehtuurin avulla myös muut sidosryhmät voivat tarkistaa projektin vaatimukset. Ohjelmistokehityksen suunnittelun tulisi olla riittävän yksityiskohtaista, jotta se tarjoaa hyvän ohjeen varsinaista koodausta varten. Se mahdollistaa arkkitehtuurisuunnittelussa kaunisteltujen yksityiskohtien täyttämisen. Eri ohjelmointikielet soveltuvat ongelman eri näkökohtiin. Ohjelmoijan olisi oltava tietoinen käytettävän kielen erityisistä vahvuuksista ja heikkouksista. Ongelma ja siihen liittyvät ohjelmointivaatimukset olisi ymmärrettävä, jotta voidaan valita paras kieli. Paras kieli valitaan vaatimusluettelon perusteella.

Pitäkää koodi yksinkertaisena.

Koodin ryhmittely mahdollistaa muutaman koodirivin käytön siten, että tehtävät pidetään erillisissä koodilohkoissa. Monimutkainen logiikka yksinkertaisen asian saavuttamiseksi tulisi pitää mahdollisimman pienenä, koska toinen ohjelmoija saattaa muokata koodia tulevaisuudessa. Koodin vähäinen yksinkertaistaminen parantaa tuottavuutta, vähentää vieritysliikkeitä ja silmien rasitusta. Kommentin lisääminen jokaisen koodilohkon alkuun korostaa myös visuaalista erottelua.

Ohjelmoijien tulisi käyttää johdonmukaista nimeämiskaavaa ja sisennystä projektista riippuen. Nimissä tulisi olla sanarajat, eli camelCase tai alleviivaus. DRY-periaatetta (Don’t Repeat Yourself) tulisi noudattaa kaikessa koodissa, koska useimmat sovellukset automatisoivat toistuvia tehtäviä. Ohjelmoijan olisi myös vältettävä syvää sisäkkäisyyttä ja rajoitettava rivien pituutta. Koodin pitäminen yksinkertaisena parantaa luettavuutta.

Kannattavuus.

Ohjelmoijan tulisi parametrisoida muuttujat ja konfiguroida ne sovelluksen ulkopuoliseen isäntäympäristöön. Tämä voi sisältää sovelluspalvelimen tai tietokannan. Ohjelmakoodi ei saisi sisältää kirjainarvoja, jotka viittaavat ympäristön parametreihin, kuten absoluuttisiin tiedostopolkuihin, tiedostonimiin, käyttäjätunnuksiin, isäntänimiin ja IP-osoitteisiin. Tämä ei salli sovelluksen suorittamista isäntäkoneella, jolla on erilainen rakenne.

Käyttökelpoisuus.

Monet ohjelmistoprojektit alkavat olemassa olevasta lähtötilanteesta, joka sisältää projektin sen aiemmassa versiossa. Projektista riippuen monia olemassa olevia ohjelmistomoduuleja ja -komponentteja käytetään uudelleen. Tämä auttaa vähentämään kehityskustannuksia ja -aikaa, jos komponentit on jo testattu. Näin ollen lisätään todennäköisyyttä toimittaa ohjelmistoprojekti aikataulussa.

Koodin virheenkorjaus ja virheiden korjaaminen.

Ohjelmoijien tulisi kirjoittaa koko koodi ja aloittaa sen jälkeen virheenkorjaus ja virheiden tarkistaminen eikä koko ohjelmaa. Tämä lähestymistapa säästää aikaa, koska aikaa ei päädytä tuhlaamaan virheiden etsimiseen.

Testaaminen.

Ennen koodauksen aloittamista testitapaukset suunnitellaan ja kehitetään samalla, kun sovellusta suunnitellaan ja koodataan. Yksikkötestejä yksittäisille moduuleille ja toiminnallisia testejä verkkopalveluille ja sovelluksille käytetään yhdessä virheenkorjauksen kanssa.

Johtopäätöksenä voidaan todeta, että parhaiden koodauskäytäntöjen avulla voit kehittäjänä nähdä, millaista lisäarvoa voit tuoda pöytään. Erityisesti sitä, mitä sinä voit tehdä, mitä muut eivät voi; ei sitä, että ”olet yhtä fiksu kuin ne muut kehittäjät”, vaan sitä, että olet ainutlaatuinen ja tuot esiin sisäisen teekkarin itsessäsi.

Vastaa

Sähköpostiosoitettasi ei julkaista.