Jaa suuri, vaikeasti luettava funktio pienempiin ja nimettyihin osiin jotka tekevät kukin yhden asian. Lopputulos on koodia jota on helppo testata ja ylläpitää.
Jaa seuraava suuri funktio pienempiin, yksittäisiä tehtäviä hoitaviin funktioihin. Funktio: [KOODI] Periaatteet: - Single Responsibility Principle - Selkeät funktioiden nimet - Testattavuus - Uudelleenkäytettävyys Luo jaetut funktiot ja näytä miten niitä kutsutaan.
Korvaa nämä hakasulkeissa olevat muuttujat omilla tiedoillasi:
[KOODI]Jaa seuraava suuri funktio pienempiin, yksittäisiä tehtäviä hoitaviin funktioihin.
Funktio:
async function processUserRegistration(formData) {
// Validoi syötteet
if (!formData.email || !formData.email.includes('@')) {
throw new Error('Invalid email');
}
if (!formData.password || formData.password.length < 8) {
throw new Error('Password too short');
}
// Tarkista onko käyttäjä jo olemassa
const existingUser = await db.users.findByEmail(formData.email);
if (existingUser) {
throw new Error('User exists');
}
// Hashaa salasana
const hashedPassword = await bcrypt.hash(formData.password, 10);
// Luo käyttäjä
const user = await db.users.create({
email: formData.email,
password: hashedPassword,
name: formData.name
});
// Lähetä vahvistussähköposti
await sendEmail({
to: user.email,
subject: 'Vahvista rekisteröitymisesi',
template: 'welcome'
});
return user;
}
Periaatteet:
- Single Responsibility Principle
- Selkeät funktioiden nimet
- Testattavuus
- Uudelleenkäytettävyys
Luo jaetut funktiot ja näytä miten niitä kutsutaan.Jaetut funktiot ja käyttöesimerkki.
Siisti ja selkeytä olemassa olevaa koodia.
AloittelijaJaa suuri, monimutkainen komponentti pienempiin ja uudelleenkäytettäviin osiin. Selkeyttää koodia, helpottaa testausta ja tekee ylläpidosta huomattavasti helpompaa.
KeskitasoLuo custom hook toistuvalle logiikalle, jotta vältät copy-paste-koodia komponenttien välillä. Saat siistin ja testattavan hookin jota voi käyttää koko sovelluksessa.
KeskitasoSelaa kaikkia refaktorointi prompteja tai tutustu muihin kategorioihin.