Keskitaso🔧 Refaktorointi

Monimutkaisen if-else-rakenteen refaktorointi

Refaktoroi monimutkainen if-else selkeämmäksi.

Prompti

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.

Suomenkieliset vinkit

  • Teknisten termien suomennokset auttavat ymmärtämään konsepteja paremmin
  • Suomenkieliset promptit toimivat hyvin Claude- ja GPT-4-malleissa
  • Voit pyytää AI:ta selittämään koodia suomeksi oppimista varten

Muuttujat

Korvaa nämä hakasulkeissa olevat muuttujat omilla tiedoillasi:

  • [KOODI]

Esimerkki

Täytetty prompti

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.

Tulos

Refaktoroitu koodi valitulla patternilla.

Vinkit

  • Näytä koko if-else-rakenne
  • Kerro mitä logiikka tekee
  • Mieti laajennettavuus

Milloin käyttää

  • Monta sisäkkäistä if-else-lausetta
  • Switch-case kasvaa liian isoksi
  • Sama rakenne toistuu

Lisää prompteja

Selaa kaikkia refaktorointi prompteja tai tutustu muihin kategorioihin.