14. Hyvä ohjelmointitapa.

Slides:



Advertisements
Samankaltaiset esitykset
15. Loogiset operaatiot.
Advertisements

Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
JavaScript (c) Irja & Reino Aarinen, 2007
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
13. Pakkaukset.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
16. Lohkot Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
13. Hyvä ohjelmointitapa (osa 1)
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Visual Basic -ohjelmointi
String-vertailusta ja Scannerin käytöstä (1/2)
11. Javan toistorakenteet
HelloWorld-ohjelma. 5.2 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Hyvä ohjelmointitapa (osa 2) Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi.
22. Taulukot.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
Aakkosnumeerinen tieto Tarkoittaa kaikkea muuta tietoa paitsi laskentaan tarkoitettuja lukuja Muuttujan tietosisältö on siis tekstitietoa Muuttujan tietotyypiksi.
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
Visual Basic -ohjelmointi
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö.
Lausekielinen ohjelmointi. 4.2 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi,
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö.
String-vertailusta ja Scannerin käytöstä (1/2)
5. Kapselointi.
1. Omat operaatiot.
2. Taulukot.
Kuinka niitä käsitellään
4. Komentoriviparametrit
7. Hyvä ohjelmointitapa..
13. Loogiset operaatiot.
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
15. Lohkot.
5. HelloWorld-ohjelma.
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö
7. Näytölle tulostaminen
Aakkosnumeerinen tieto
19. Tietovirrat.
8. Näppäimistöltä lukeminen
16. Ohjelmoinnin tekniikkaa
11. Javan valintarakenteet
12. Javan toistorakenteet
2. Taulukot.
15. Lohkot.
12. Javan toistorakenteet
3. Komentoriviparametrit
13. Pakkaukset.
4. Attribuutit.
7. Hyvä ohjelmointitapa..
7. Näytölle tulostaminen
Kontrollirakenteet laajemmin
5. HelloWorld-ohjelma.
13. Loogiset operaatiot.
Ohjelman perusrakenteet
12. Javan toistorakenteet
3. Attribuutit.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
eli oliotiedostojen käsittely
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

14. Hyvä ohjelmointitapa

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.

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 = ′/′;

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 { … }

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.

Sisennä Käytännössä kaikkien koottujen lauseiden sisältö sisennetään. Tasot: ohjelman, main-operaation, 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;

Sisennä if (valinta == LISAA) { Sisäkkäiset if-else-rakenteet esitetään joskus tilanpuutteen vuoksi siten, että sisemmän lauseen if- osan otsikkorivi kirjoitetaan ulomman lauseen else-osan 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.

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 } Ä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 }

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;

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.