وابستگی های پنهان را برای کد پاک تر بشکنید
TL ؛ DR: متغیرهای جهانی را با تزریق وابستگی جایگزین کنید تا قابلیت آزمایش و کاهش اتصال را کاهش دهد. 💉
مشکلات مورد توجه
https://hackernoon.com/how-find-te-tinky-parts-of-your-code-part-vii-8dk31x0
https://hackernoon.com/how-to-find-te-stinky-parts-of-your-code-part-xiv
https://hackernoon.com/how-find-te-stinky-parts-of-your-code-part-xxii
مراحل
- متغیرهای جهانی مورد استفاده در پایگاه کد خود را شناسایی کنید.
- یک انتزاع در دنیای واقعی ایجاد کنید تا این متغیرها را محصور کنید.
- وابستگی های عبور صریح از طریق پارامترها یا سازندگان عملکرد.
- کد موجود برای استفاده از ساختار جدید تزریق شده وابستگی.
- اعلامیه های متغیر جهانی اصلی را حذف کنید.
کد نمونه
قبل
// This global variable holds the API configuration
const globalConfig = { apiUrl: "https://api.severance.com" };
function fetchOuties() {
return fetch(`${globalConfig.apiUrl}/outies`);
// globalConfig is NOT passed as parameter
}
بعد از
function fetchOuties(parameterConfig) {
return fetch(`${parameterConfig.apiUrl}/outies`);
// 1. Identify global variables
// used across your codebase.
// 4. Refactor the existing code
// to use the new dependency-injected structure.
}
const applicationConfig =...