Metodien hajottaminen ja siisti koodi
Jakakaa ongelmat pieniksi, selkeästi nimetyiksi metodeiksi. Vähentäkää toistoa, suosikaa puhtaita apumetodeja ja pitäkää parametrilistat yksinkertaisina.
Metodien hajottaminen ja siisti koodi on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 3 oppituntia.
Miksi metodit kannattaa jakaa osiin?
Miksi jakaa osiin? Pienet metodit ovat helpompia lukea, testata ja käyttää uudelleen. Ne tuovat tarkoituksen esiin ja piilottavat yksityiskohdat, jolloin pääohjelman kulku etenee tarinan tavoin.
Yksi vastuu
Yksi tarkoitus metodia kohti. Jos metodi sekä laskee että tulostaa, jaa se kahdeksi metodiksi. Pidä rungot lyhyinä, noin 5–15 rivin mittaisina, ja anna metodeille verbimuotoiset nimet.
Nimet ja parametrit
Nimet kertovat tarkoituksen. Suosi nimeä applyDiscount nimen calc1 sijaan. Pidä parametreja vähän ja tee niistä merkityksellisiä; vältä boolean-lippuja, jotka peittävät toiminnan.
Toiston poistaminen
DRY. Jos kopioit ja liität samat muutamat rivit, erota ne apumetodiksi ja kutsu sitä molemmissa kohdissa. Näin sääntöjen muuttuessa syntyy vähemmän virheitä.
Puhtaat apumetodit
Puhtaat metodit riippuvat vain syötteistään ja palauttavat tuloksen. Niitä on helppo käyttää uudelleen ja testata. Pidä I/O ja tulostus ohjelman reunoilla.
Esimerkki: jakaminen apumetodeiksi
Huomaa pienet, kuvaavat apumetodit (applyDiscount, addTax, round2). Logiikka on uudelleenkäytettävää ja testattavaa, ja tulostus on eristetty.
public class Main {
// Entry point: reads like a story using small helpers
public static void main(String[] args) {
double subtotal = 120.00;
double discountRate = 0.10; // 10% off
double taxRate = 0.08; // 8% tax
double discounted = applyDiscount(subtotal, discountRate); // pure
double taxed = addTax(discounted, taxRate); // pure
double total = round2(taxed); // pure
printReceipt(subtotal, discountRate, taxRate, total); // I/O kept at edge
}
// Apply a percentage discount (pure)
static double applyDiscount(double amount, double rate) {
return amount - (amount * rate);
}
// Add a percentage tax (pure)
static double addTax(double amount, double rate) {
return amount + (amount * rate);
}
// Round to 2 decimals (pure)
static double round2(double x) {
return Math.round(x * 100.0) / 100.0;
}
// Handle printing separately (side effect)
static void printReceipt(double subtotal, double discountRate, double taxRate, double total) {
System.out.println("Subtotal: " + subtotal);
System.out.println("Discount: " + (int)(discountRate * 100) + "%");
System.out.println("Tax: " + (int)(taxRate * 100) + "%");
System.out.println("Total: " + total);
}
}
Siistin suunnittelun tarkistus
Pikatarkistus: Mikä valinta kuvaa parhaiten siistiä metodisuunnittelua?
Kertaus
Kertaus: Tehtävät jaettiin osiin, nimille valittiin selkeät muodot, toisto poistettiin ja puhtaat apumetodit pidettiin ytimenä sivuvaikutusten jäädessä reunoille.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”Metodien hajottaminen ja siisti koodi” ilmainen?
Kyllä – oppitunnin ”Metodien hajottaminen ja siisti koodi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 3 oppituntia.
Mitä opin oppitunnilla ”Metodien hajottaminen ja siisti koodi”?
Jakakaa ongelmat pieniksi, selkeästi nimetyiksi metodeiksi. Vähentäkää toistoa, suosikaa puhtaita apumetodeja ja pitäkää parametrilistat yksinkertaisina. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/3.
Kuinka kauan ”Metodien hajottaminen ja siisti koodi”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Arvon välitys Javassa
- Staattiset ja instanssimetodit
- Metodien hajottaminen ja siisti koodi