Jaa suuri funktio pienempiin osiin.
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.
Selaa kaikkia refaktorointi prompteja tai tutustu muihin kategorioihin.