استاتیک را بکشید، اشیاء را احیا کنید
TL;DR: توابع استاتیک را با فعل و انفعالات شی جایگزین کنید.
مشکلات پرداخته شده است
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-iv-7sc3w8n
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-iv-7sc3w8n
https://hackernoon.com/how-to-find-the-stinky-parts-of-your-code-part-v-evj3zs9
مراحل
- روش های استاتیک مورد استفاده در کد خود را شناسایی کنید.
- روش های استاتیک را با روش های نمونه جایگزین کنید.
- وابستگی ها را به صراحت از طریق سازنده ها یا پارامترهای متد عبور دهید.
- Refactor کلاینت ها برای تعامل با اشیا به جای توابع استاتیک.
کد نمونه
قبل از
class CharacterUtils {
static createOrpheus() {
return { name: "Orpheus", role: "Musician" };
}
static createEurydice() {
return { name: "Eurydice", role: "Wanderer" };
}
static lookBack(character) {
if (character.name === "Orpheus") {
return "Orpheus looks back and loses Eurydice.";
} else if (character.name === "Eurydice") {
return "Eurydice follows Orpheus in silence.";
}
return "Unknown character.";
}
}
const orpheus = CharacterUtils.createOrpheus();
const eurydice = CharacterUtils.createEurydice();
بعد از
// 1. Identify static methods used in your code.
// 2. Replace static methods with...