13. Hyvä ohjelmointitapa (osa 1) 13.1

Samankaltaiset tiedostot
14. Hyvä ohjelmointitapa 14.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

13. Loogiset operaatiot 13.1

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

11. Javan toistorakenteet 11.1

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

4. Lausekielinen ohjelmointi 4.1

13. Loogiset operaatiot 13.1

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

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

1. Omat operaatiot 1.1

5. HelloWorld-ohjelma 5.1

Harjoitus 5 (viikko 41)

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

Sisällys. 15. Lohkot. Lohkot. Lohkot

Harjoitus 5 (viikko 41)

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

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

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

Harjoitus 5 (viikko 48)

Harjoitus 4 (viikko 47)

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42)

Sisällys. 16. Lohkot. Lohkot. Lohkot

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

2. Merkkijono, osamerkkijono ja osamerkkijonon haku

4. Lausekielinen ohjelmointi 4.1

Java-kielen perusteet

Harjoitustyö Johdanto

Java-kielen perusteet

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

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

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

Ohjelmoinnin perusteet, syksy 2006

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

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

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

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

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

Java-kielen perusteita

Harjoitus 2 (viikko 45)

Harjoitustyö Johdanto

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

16. Ohjelmoinnin tekniikkaa 16.1

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

16. Ohjelmoinnin tekniikkaa 16.1

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

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

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Toinen harjoitustyö. ASCII-grafiikkaa

Ohjelmoinnin perusteet Y Python

Ohjelmointi 2 / 2010 Välikoe / 26.3

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

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

7. Näytölle tulostaminen 7.1

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

Java-kielen perusteet

Ehto- ja toistolauseet

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

Java-kielen perusteita

Harjoitus 3 (viikko 39)

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

ITKP102 Ohjelmointi 1 (6 op)

Ohjelmoinnin perusteet Y Python

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Python-ohjelmointi Harjoitus 2

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

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

ITKP102 Ohjelmointi 1 (6 op)

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

Ohjelmoinnin perusteet Y Python

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Merkkijonon tutkiminen matches-metodilla

4. Luokan testaus ja käyttö olion kautta 4.1

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

Python-ohjelmointi Harjoitus 5

OHJELMOINNIN TYYLISÄÄNTÖJÄ

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

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

Javan perusteita. Janne Käki

Luento 5. Timo Savola. 28. huhtikuuta 2006

Ohjelmoinnin peruskurssi Y1

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

Ohjelmoinnin perusteet, kurssikoe

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

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

15. Ohjelmoinnin tekniikkaa 15.1

Interaktiivinen tarinankerronta

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

9. Periytyminen Javassa 9.1

Transkriptio:

13. Hyvä ohjelmointitapa (osa 1) 13.1

Yleistä Ohjelman elinkaari ei tyypillisesti pääty sen toteuttamiseen tarvitaan ylläpitoa. Jotta koodin muuttaminen on mahdollista, on sen oltava myös muidenkin kuin tekijänsä ymmärrettävissä. Pitkän ja monimutkaisen ohjelman ymmärtäminen voi olla vaikeaa vaikka ohjelma on tehty hyvin. Huonoa koodia ei välttämättä ymmärrä edes koodin tekijä! 13.2

Yleistä 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. Käytä vakioita. Rivitys: käytä välirivejä ja vältä liian pitkiä rivejä. Lisää ohjeita kurssin edetessä. 13.3

Nimeä järkevästi Tunnusten (nimien) tulee olla järkeviä. Nimestä tulisi voida päätellä esimerkiksi mitä tietoa muuttuja sisältää. Usein järkevä 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. Luokkien nimet alkavat isolla kirjaimella. Vakiot kirjoitetaan isoin kirjaimin. 13.4

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. /* * Ensimmäinen harjoitustyö: Muutetaan suomenkielinen viesti * morsekoodiksi ja päinvastoin. * * Lausekielinen ohjelmointi, syksy 2009, Jorma Laurikkala, jpl@cs.uta.fi. * * Viimeksi muutettu 16.10.2009 15:11:45. * */ public class Morse { 13.5

Sisennä Sisennys auttaa hahmottamaan kokonaisuuksia. Sisennyksellä osoitetaan lauseiden looginen ja/tai kieliopillinen yhteenkuuluvuus. Välilyönnein (harjoitustöissä) tai tabulaattorilla: Kukin sisennyksen taso 2-4 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. 13.6

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ä. Esim. while (jatketaan) { // Tulostetaan System.out.println( ); // Päivitetään lippumuuttuja. if ( ) { jatketaan = false; else jatketaan = true; 13.7

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. Esim. if (valinta == LISAA) { // Lisätään.... else if (valinta == HAE) { // Haetaan....... else { // Virhe.... 13.8

Käytä vakioita Vakioiden tunnus kirjoitetaan ISOIN KIRJAIMIN. Esim. final String LOPPU = "Ohjelma lopetettu. Kiitos käytöstä!"; 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. 13.9

Rivitys Osoita lauseiden looginen yhteenkuuluvuus kootun lauseen sisällä välirivejä käyttämällä. // Erota lauseita 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( ); Pitkät rivit ovat vaikeaselkoisia ja näkyvät vain osin pienessä ikkunassa: katkaise rivit noin 80 merkin kohdalta, mikäli mahdollista. 13.10