انتقال متن – جامعه dev

یکی از سخت ترین بازپرداخت ها برای درست کردن تعادل بین عصاره و داخل عملکردها.
غالباً مردم برای درک اینکه چرا گاهی اوقات وقتی که آنها هستند تلاش می کنند “کار درست را انجام دهید” و یک عملکرد ، کد آنها را استخراج کنید کیفیت احساس می کند که کاهش می یابد – این در واقع یکی از بزرگترین انتقادات من از کد پاک به عنوان یک کتاب است – این است Rife با استخراج روش با کیفیت پایین.
من فکر می کنم این احساس ناشی از وزن است “انتقال متن”.
انتقال متن میزان اطلاعاتی است که شما باید بین مرزها منتقل کنید ، و استخراج روش که در آن 100 ٪ از زمینه تماس گیرندگان باید برای عملکرد جدید قابل انتقال باشد ، یک بازپرداخت ضعیف است. شما هیچ بار شناختی را کاهش نمی دهید – این یک عدم موفقیت در محاصره است.
در زبانهای شی گرا ، این یک است مشکل شایع تر زیرا زمینه اغلب به یک کلاس منتقل می شود ، بنابراین این است ضمنی کدام قسمت از حالت در هر عملکرد خاص استفاده می شود و در نتیجه این انتقال متن به همان اندازه ضمنی است.
در حالی که ممکن است به نظر برسد که حالت scoped شیء در واقع راه حلی برای این مشکل است ، اینطور نیست ، زیرا انتقال متن در واقع میزان اطلاعاتی است که برنامه نویس باید در هنگام خواندن کد از نظر ذهنی ردیابی کند، نه اطلاعاتی که یک کامپیوتر برای ردیابی دارد (زیرا توابع صرفاً برای برنامه نویس وجود دارند) – این یک است نگرانی زمان طراحی و به ندرت یک زمان اجرا قابل توجه است.
بازپرداختهای استخراج باید در یک کار کنند زیر مجموعه به عنوان یک قاعده کلی ، از زمینه عملکرد والدین معنادار و برای کد خواندن مضر نیست.
(افشای استاندارد: کلیات شامل استثنائات به طور پیش فرض است ، من مطمئن هستم که موارد بسیاری وجود دارد که این کار اعمال نمی شود)