اصلاح کد ( 2 ) – کد های تکراری
کد های تکراری – DUPLICATED CODE
اگر ساختارهاي كد يكساني را در مكان هاي مختلف برنامه دیدید ، مطمئن باشید اگه راهی پیدا کنید که اونا رو با هم یکی کنید ، برنامه شما خیلی بهتر کار خواهد کرد . تكراري بودن در اینجا به این معنیه که هر بار که این کد های تكراري را می خوانید ، باید مواظب باشید و ببینید که چه تغییری کرده و وقتی ميخوايد یکی از اونا رو تغییر بدید، باید همه نسخه های دیگه رو هم پیدا کنید و تغییر بدید.
ساده ترین حالت کد تکراری ،عبارت یکسان در دو متد از یک کلاسه. برای رفع اون تنها کاری که باید انجام بدید استخراج تابع (Extract Function) است، حالا کافیه متد جدید رو از هر دو مکان فراخوانی کنید.
اگر کد تکراری دارید اما کاملاً شبیه بهم نیست ، باید ببینید که آیا می توانید از جداسازي عبارات (Slide Statements) برای مرتب سازي کد استفاده کنید ، اینطوری موارد مشابه در کنار هم قرار ميگيرن و میشه راحت تر اونا رو استخراج کرد .
اگر كد هاي تکراری در زیر کلاسهای یک کلاس پایه قرار دارند ( وراثت ) می توانید از بالا بردن متد (Pull Up Method) استفاده كنيد تا از فراخواني يكي در داخل ديگري جلوگیری كنيد.