اصلاح مجدد 024 – متغیرهای جهانی را با تزریق وابستگی جایگزین کنید

وابستگی های پنهان را برای کد پاک تر بشکنید

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

مراحل

  1. متغیرهای جهانی مورد استفاده در پایگاه کد خود را شناسایی کنید.
  2. یک انتزاع در دنیای واقعی ایجاد کنید تا این متغیرها را محصور کنید.
  3. وابستگی های عبور صریح از طریق پارامترها یا سازندگان عملکرد.
  4. کد موجود برای استفاده از ساختار جدید تزریق شده وابستگی.
  5. اعلامیه های متغیر جهانی اصلی را حذف کنید.

کد نمونه

قبل

// 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 =...

Source link