14. Hyvä ohjelmointitapa 14.1

Samankaltaiset tiedostot
13. Hyvä ohjelmointitapa (osa 1) 13.1

12. Javan toistorakenteet 12.1

11. Javan valintarakenteet 11.1

12. Javan toistorakenteet 12.1

5. HelloWorld-ohjelma 5.1

11. Javan valintarakenteet 11.1

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

11. Javan toistorakenteet 11.1

1. Omat operaatiot 1.1

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

4. Lausekielinen ohjelmointi 4.1

Harjoitus 5 (viikko 41)

13. Loogiset operaatiot 13.1

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

5. HelloWorld-ohjelma 5.1

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Sisällys. 15. Lohkot. Lohkot. Lohkot

Harjoitus 5 (viikko 48)

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

Harjoitus 5 (viikko 41)

Harjoitus 4 (viikko 47)

Sisältö. 2. Taulukot. Yleistä. Yleistä

Java-kielen perusteet

Java-kielen perusteet

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

13. Loogiset operaatiot 13.1

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Sisältö. 22. Taulukot. Yleistä. Yleistä

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

Harjoitus 6 (viikko 42)

Sisällys. 16. Lohkot. Lohkot. Lohkot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Harjoitus 6 (viikko 42)

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Java-kielen perusteita

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Harjoitus 2 (viikko 45)

7. Näytölle tulostaminen 7.1

Ohjelmoinnin perusteet, syksy 2006

4. Lausekielinen ohjelmointi 4.1

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

16. Ohjelmoinnin tekniikkaa 16.1

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Harjoitustyö Johdanto

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

16. Ohjelmoinnin tekniikkaa 16.1

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

8. Näppäimistöltä lukeminen 8.1

Java-kielen perusteet

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Ohjelmointi 2 / 2010 Välikoe / 26.3

ITKP102 Ohjelmointi 1 (6 op)

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Tässä dokumentissa kuvataan Keimo-projektissa sovellettavia ohjelmointikäytäntöjä. Päivämäärä Projektiryhmä Keimo

Harjoitustyö Johdanto

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Ohjelmointiharjoituksia Arduino-ympäristössä

Java-kielen perusteita

Harjoitus 3 (viikko 39)

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

12. Näppäimistöltä lukeminen 12.1

Ohjelmoinnin perusteet Y Python

Toinen harjoitustyö. ASCII-grafiikkaa

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

ITKP102 Ohjelmointi 1 (6 op)

Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Ohjelmoinnin perusteet Y Python

19. Olio-ohjelmointia Javalla 19.1

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

ITKP102 Ohjelmointi 1 (6 op)

Python-ohjelmointi Harjoitus 2

Ohjelmointi 1 Taulukot ja merkkijonot

TT00AA Ohjelmoinnin jatko (TT10S1ECD)

Taulukot. Jukka Harju, Jukka Juslin

Ohjelmoinnin perusteet Y Python

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Luento 5. Timo Savola. 28. huhtikuuta 2006

Metodien tekeminen Javalla

CoMa - Ohjelmoinnin tyyliohje

9. Periytyminen Javassa 9.1

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

OHJELMOINNIN TYYLISÄÄNTÖJÄ

Ohjelmoinnin perusteet Y Python

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

9. Periytyminen Javassa 9.1

Java kahdessa tunnissa. Jyry Suvilehto

Ehto- ja toistolauseet

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Transkriptio:

14. Hyvä ohjelmointitapa 14.1

Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen; ohjelmaa voidaan käyttää ja ylläpitää jopa vuosikymmeniä. Jotta koodin muuttaminen on mahdollista, sen on oltava muidenkin kuin tekijänsä ymmärrettävissä. Hyvää ohjelmointitapaa noudattamalla saadaan aikaiseksi ymmärrettäviä ja hallittavia ohjelmia. Perusasioita: Nimeä tunnukset järkevästi. Kommentoi riittävästi ja oikeissa paikoissa. Sisennä koodia. Rivitys: vältä liian pitkiä rivejä, käytä välirivejä ja käytä välilyöntejä riveillä. Käytä vakioita. 14.2

Nimeä järkevästi Tunnusten (nimien) tulee olla järkeviä. Nimestä tulisi voida päätellä muuttujan tehtävä ohjelmassa ja muuttujan sisältämän tiedon luonne. Usein hyvä nimi on yhtä kuin riittävän pitkä nimi. Noudata nimeämiskäytäntöäsi johdonmukaisesti. Vakiintuneita käytäntöjä Javassa: Muuttujien nimet alkavat pienellä kirjaimella. Esimerkiksi: double keskiarvo; Luokkien nimet alkavat isolla kirjaimella. Esimerkiksi: public class HelloWorld { Vakiot kirjoitetaan isoin kirjaimin. Esimerkiksi: final char EROTIN = / ; 14.3

Kommentoi Kommentit kannattaa kohdistaa erityisesti koodin keskeisiin osiin ja vaikeasti ymmärrettäviin osiin. Pitemmässä ohjelmassa ei tarvitse kommentoida kaikkea. Ohjelman alkuun kannattaa kirjoittaa kommentti, josta käy ilmi mitä ohjelma tekee ja kuka ohjelman teki. /* * Muutetaan suomenkielinen viesti morsekoodiksi ja päinvastoin. * * Lausekielinen ohjelmointi I, Jorma Laurikkala, jorma.laurikkala@uta.fi. * * Viimeksi muutettu 20.9.2015 15:11:45. * */ public class Morse { 14.4

Sisennä Sisennys auttaa hahmottamaan kokonaisuuksia. Sisennyksellä osoitetaan lauseiden looginen ja kieliopillinen yhteenkuuluvuus. Välilyönnein tai tabulaattorilla: Kukin sisennyksen taso ainakin kaksi välilyöntiä. Sekä tavalliset lauseet että kommentit samalle tasolle. Huomaa, että tabulaattorilla sisennettäessä koodi näyttää melko varmasti erilaiselta muissa editoreissa. Välilyöntejä ja tabulaattoreita ei saa käyttää sekaisin. 14.5

Sisennä Käytännössä kaikkien koottujen lauseiden sisältö sisennetään. Tasot: ohjelman, mainoperaation, ohjausrakenteen, sisemmän ohjausrakenteen koottu lause jne. Myös ohjausrakenteeseen liittyvä yksittäinen lause sisennetään. Ole johdonmukainen sisennyksissä: kullakin tasolla aina sama määrä sisennystä. Esimerkiksi: while (jatketaan) { // Tulostetaan System.out.println( ); // Päivitetään lippumuuttuja. if ( ) { jatketaan = false; else jatketaan = true; 14.6

Sisennä Sisäkkäiset if-elserakenteet esitetään joskus tilanpuutteen vuoksi siten, että sisemmän lauseen ifosan otsikkorivi kirjoitetaan ulomman lauseen elseosan otsikkoriville. Tällöin rakenteen otsikkorivit ja koottujen lauseiden sisältö alkavat samalta tasolta. Esimerkki: if (valinta == LISAA) { // Lisätään.... else if (valinta == HAE) { // Haetaan....... else { // Virhe.... 14.7

Rivitys Osoita lauseiden looginen yhteenkuuluvuus kootun lauseen sisällä välirivejä käyttämällä. // Erota teemoja näin: while (jatketaan) { // Luetaan syöte. System.out.println( ); int luku = In.readInt(); // Tulostetaan System.out.println( ); Älä siis sisennä eri tasoille kootun lauseen sisällä, ellei kyseessä ole sisemmän kootun lauseen sisältö. // Ei _koskaan_ näin: while (jatketaan) { // Luetaan syöte. System.out.println( ); int luku = In.readInt(); // Tulostetaan System.out.println( ); 14.8

Rivitys Pitkät rivit ovat vaikeaselkoisia ja näkyvät vain osin pienessä ikkunassa. Jaa liian pitkä rivi kahdeksi lauseeksi kahdelle riville tai katkaise rivi, jolloin yksi lause on kahdella rivillä. Riviä ei saa katkaista arvon tai tunnuksen keskeltä. Yli 100 merkin mittaiset rivit alkavat olla liian pitkiä. Paranna yksittäisten rivien luettavuutta käyttämällä välilyöntejä. Esimerkiksi lause int i=(j+1)*2; on luettavampi muodossa int i = (j + 1) * 2; 14.9

Käytä vakioita Vakioiden tunnus kirjoitetaan ISOIN KIRJAIMIN. Esimerkki: final String LOPPU = "Ohjelma lopetettu."; Vakiot määritellään yleensä ohjelman alussa. Helpottavat ohjelmien ylläpitoa, esimerkiksi tilanteissa, joissa arvo on suojattava muutoksilta, sama arvo esiintyy ohjelmassa useassa kohtaa ja ohjelmaa käytetään näppäimistöltä annettavilla komennoilla. 14.10