Refaktoroi monimutkainen if-else selkeämmäksi.
Refaktoroi seuraava monimutkainen if-else-rakenne selkeämmäksi. Koodi: [KOODI] Vaihtoehtoiset lähestymistavat: - Object lookup / Map - Strategy pattern - Early return - Switch-case - Guard clauses Valitse sopivin lähestymistapa ja selitä miksi.
Korvaa nämä hakasulkeissa olevat muuttujat omilla tiedoillasi:
[KOODI]Refaktoroi seuraava monimutkainen if-else-rakenne.
Koodi:
function getDiscountedPrice(price, userType, membershipYears) {
let discount = 0;
if (userType === 'premium') {
if (membershipYears >= 5) {
discount = 0.25;
} else if (membershipYears >= 2) {
discount = 0.20;
} else {
discount = 0.15;
}
} else if (userType === 'standard') {
if (membershipYears >= 5) {
discount = 0.15;
} else if (membershipYears >= 2) {
discount = 0.10;
} else {
discount = 0.05;
}
} else if (userType === 'basic') {
discount = 0;
}
return price * (1 - discount);
}
Refaktoroi selkeämmäksi.Refaktoroitu koodi valitulla patternilla.
Siisti ja selkeytä olemassa olevaa koodia.
AloittelijaJaa suuri, vaikeasti luettava funktio pienempiin ja nimettyihin osiin jotka tekevät kukin yhden asian. Lopputulos on koodia jota on helppo testata ja ylläpitää.
KeskitasoJaa suuri, monimutkainen komponentti pienempiin ja uudelleenkäytettäviin osiin. Selkeyttää koodia, helpottaa testausta ja tekee ylläpidosta huomattavasti helpompaa.
KeskitasoSelaa kaikkia refaktorointi prompteja tai tutustu muihin kategorioihin.