24.1 24. Hyvä ohjelmointitapa (osa 2).. 24.2 Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
JavaScript (c) Irja & Reino Aarinen, 2007
16. Javan omat luokat.
Taulukot: Array Taulukko Javassa pitää aina perustaa (new)
Taulukoiden määrittely, käsittely ja kopiointi Vaihtoehdot taulukoille
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.
Yksinkertaiset graafiset syöttö- ja tulostustoiminnot.
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
13. Hyvä ohjelmointitapa (osa 1)
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
7. Oliot ja viitteet.
String-vertailusta ja Scannerin käytöstä (1/2)
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
11. Javan toistorakenteet
19. Olio-ohjelmointia Javalla
20. Javan omat luokat.
Kuinka niitä käsitellään
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.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
22. Taulukot.
Poikkeukset Yleistä Virheeseen varautuminen tarkoittaa sitä, että ohjelmoija huomioi koodia kirjoittaessaan ajonaikaisen virheen mahdollisuuden.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
Olioiden taulukointi Perustaulukon käyttö Luokan ilmentymät voidaan tallettaa taulukkoon samoin kuin muuttujat Esimerkki talletetaan taulukkoon opintojaksojen.
Javan oliovirrat eli oliotiedostojen käsittely. Olio- eli objektitiedostojen käsittely Käsittely täysin samanlaista kuin muiden tiedostojen 1.Otetaan.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
14. Poikkeukset Sisällys Johdanto poikkeuksiin. Poikkeusten käsittely: − Poikkeusten käsittely paikallisesti. − Poikkeusten heittäminen. Exception.
15. Ohjelmoinnin tekniikkaa
16. Javan omat luokat Sisällys Johdanto. Object -luokka: − toString -, equals -, clone - ja getClass -metodit. Comparable -rajapinta: − compareTo.
Olio-ohjelmoinista lyhyesti. 2.2 Sisällys Yleistä. Oliot ja luokat. Attribuutit. Olioiden esittely ja alustus. Rakentajat. Olion operaation kutsuminen.
String-vertailusta ja Scannerin käytöstä (1/2)
5. Kapselointi.
3. Olio-ohjelmoinista lyhyesti
6. Tiedostot.
1. Omat operaatiot.
7. Oliot ja viitteet.
2. Taulukot.
14. Poikkeukset.
17. Javan omat luokat.
4. Komentoriviparametrit
7. Hyvä ohjelmointitapa..
15. Ohjelmoinnin tekniikkaa
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
7. Näytölle tulostaminen
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
14. Hyvä ohjelmointitapa.
11. Javan valintarakenteet
2. Taulukot.
6. Metodit.
7. Oliot ja viitteet.
3. Komentoriviparametrit
13. Pakkaukset.
16. Javan omat luokat.
4. Attribuutit.
7. Hyvä ohjelmointitapa..
14. Poikkeukset.
7. Näytölle tulostaminen
3. Attribuutit.
14. Poikkeukset.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
Esityksen transkriptio:

Hyvä ohjelmointitapa (osa 2).

24.2 Yleistä Lisää hyviä ohjelmointikäytäntöjä: − Jaa pitkä koodi osiin. − Käytä attribuutteja säästeliäästi. − Kommentoi metodit ja attribuutit. − Varaudu metodeissa virheisiin. − Tunne ohjelmointikieli.

24.3 Jaa pitkä koodi osiin Satoja tai tuhansia rivejä sisältävää ohjelmaa ei ole järkevää kirjoittaa yhdeksi “pötköksi”. On hyvä jakaa ohjelma helposti ymmärrettäviksi ja hallittavaksi osiksi (modulaarinen ohjelmointi). Metodit (operaatiot) pääasiallinen ositusmenetelmä. − Myös luokat ja pakkaukset ovat keinoja hallita isoja kokonaisuuksia. Osat ideaalisesti ympäristöstään riippumattomia. − Esimerkiksi metodien tulisi “kommunikoida” muiden metodien kanssa vain parametrien ja paluuarvojen avulla.

24.4 Käytä attribuutteja säästeliäästi Olio-ohjelmoinnissa tärkeät attribuutit ovat ristiriidassa modulaarisuusperiaatteen kanssa, koska ne ovat “globaaleina” muuttujina käytettävissä kaikissa luokan metodeissa. − Attribuutteja on käytettävä varoen. − Erityisesti toisessa harjoitustyössä ei saa olla turhia attribuutteja. − Vakiomuotoisia attribuutteja saa käyttää vapaammin, koska niiden arvoja ei voi muuttaa metodeissa.

24.5 Kommentoi metodit ja attribuutit Metodeihin liitetään yleisluontoiset kommentit metodin tarkoituksesta, parametreista ja paluuarvoista: /* Tulostetaan kaksiulotteinen taulukko t. */ public static void tulosta( int [][] t) { … } − Lyhyitä parametritunnuksia käytettäessä parametrien tarkoitus on ehdottomasti kerrottava kommentissa. − Metodin nimet ovat muuttujien nimiä pitempiä ja alkavat usein käskymuotoisella verbillä. Attribuutit kommentoidaan muuttujien tapaan: // Ohjelman lopettava komento. private static final String KOMENTO_LOPETA = "quit";

24.6 Varaudu metodeissa virheisiin Maailma ei ole täydellinen – ohjelmasi ei esimerkiksi saa syötteitä juuri siten kuin toivoisit. Usein muutama yksinkertainen tarkistus tekee ohjelmasta huomattavasti vakaamman (ja samalla miellyttävämmän käyttää). Hyvässä ohjelmassa on varauduttu virhetilanteisiin ja ohjelman toimintaa näissä tilanteissa on vieläpä testattu. Erityisesti metodien viitetyyppiset parametrit on syytä tarkistaa. − Metodin kutsuminen null -arvoisen viitteen kautta aiheuttaa ohjelman pysäyttävän ajonaikaisen virheen.

24.7 Varaudu metodeissa virheisiin /* Täytetään taulukko t satunnaisluvuilla. */ public static void tayta( int [] t) { // Satunnaisluvut välillä [0, MAX[. final int MAX = 10; // Täytetään, jos on varattu muistia. if (t != null ) { for ( int i = 0; i < t.length; i++) t[i] = ( int )(MAX * Math.random()); } Ilman if -lausetta ohjelman suoritus keskeytyy ajonaikaiseen virheeseen ( NullPointer- Exception ) aina, kun parametrille ei ole varattu muistia.

24.8 Varaudu metodeissa virheisiin // Tutkitaan ovatko merkkijonon m ensimmäinen // ja viimeinen merkki sama merkki. public static boolean ekaJaVikaSamat(String m) { // Arvataan, että merkit eivät ole samoja. boolean ovatSamat = false ; // Edetään, jos viitteeseen liittyy olio // ja merkkijonossa on vähintään yksi merkki. if ((m != null ) && (m.length() > 0)) // Käännetään lippu, jos merkit ovat samat. if (m.charAt(0) == m.charAt(m.length() - 1)) ovatSamat = true ; // Palautetaan tulos. return ovatSamat; } Ilman ulompaa if - lausetta ohjelman suoritus keskeytyy ajonaikaiseen virheeseen, kun parametrille ei ole varattu muistia ( NullPointer- Exception ) tai kun merkkijonon pituus on nolla ( StringIndexOutOf- BoundsException ).