JavaRush /جاوا بلاگ /Random-SD /جاوا ۾ ريفيڪٽرنگ ڪيئن ڪم ڪري ٿي

جاوا ۾ ريفيڪٽرنگ ڪيئن ڪم ڪري ٿي

گروپ ۾ شايع ٿيل
جڏهن پروگرام سکڻ، گهڻو وقت خرچ ڪيو ويندو آهي ڪوڊ لکڻ. اڪثر شروعاتي ڊولپر مڃيندا آهن ته هي سندن مستقبل جي سرگرمي آهي. اهو جزوي طور تي سچ آهي، پر هڪ پروگرامر جي ڪمن ۾ پڻ شامل آهي برقرار رکڻ ۽ ريفڪٽرنگ ڪوڊ. اڄ اسان refactoring جي باري ۾ ڳالهائي ويندس. جاوا ۾ ريفيڪٽرنگ ڪيئن ڪم ڪري ٿي - 1

JavaRush ڪورس ۾ ريفيڪٽرنگ

JavaRush ڪورس ٻه ڀيرا ريفيڪٽرنگ جي موضوع کي ڍڪي ٿو: وڏي ڪم جي مهرباني، عملي طور تي حقيقي ريفيڪٽرنگ کان واقف ٿيڻ جو هڪ موقعو آهي، ۽ IDEA ۾ ريفڪٽرنگ تي هڪ ليڪچر توهان کي خودڪار اوزار کي سمجهڻ ۾ مدد ڏيندو جيڪي زندگي کي ناقابل اعتبار حد تائين آسان بڻائي ٿو.

refactoring ڇا آهي؟

هي ڪوڊ جي جوڙجڪ ۾ ان جي ڪارڪردگي کي تبديل ڪرڻ کان سواء هڪ تبديلي آهي. مثال طور، ھڪڙو طريقو آھي جيڪو 2 انگن جو مقابلو ڪري ٿو ۽ صحيح موٽائي ٿو جيڪڏھن پھريون ھڪڙو وڏو آھي، ۽ ٻي صورت ۾ غلط آھي :
public boolean max(int a, int b) {
    if(a > b) {
        return true;
    } else if(a == b) {
        return false;
    } else {
        return false;
    }
}
نتيجو ڏاڍو ڏکيو ڪوڊ هو. جيتوڻيڪ شروعات ڪندڙ ڪڏهن به هن وانگر ڪجهه لکندا آهن، پر اتي هڪ خطرو آهي. اهو لڳي ٿو، هتي هڪ بلاڪ ڇو آهي if-elseجيڪڏهن توهان هڪ طريقو لکي سگهو ٿا 6 سٽون ننڍو:
public boolean max(int a, int b) {
     return a>b;
}
ھاڻي ھي طريقو سادو ۽ خوبصورت نظر اچي ٿو، جيتوڻيڪ اھو ساڳيو ڪم ڪري ٿو جيئن مٿي ڏنل مثال. اهو ڪيئن ڪم ڪري ٿو ريفيڪٽرنگ: اهو ڪوڊ جي جوڙجڪ کي تبديل ڪري ٿو بغير ان جي جوهر کي متاثر ڪرڻ. اتي ڪيترائي ريفڪٽرنگ طريقا ۽ ٽيڪنالاجيون آھن، جن کي اسين وڌيڪ تفصيل سان غور ڪنداسين.

ڇو refactoring جي ضرورت آهي؟

ان جا ڪيترائي سبب آهن. مثال طور، ڪوڊ جي سادگي ۽ جامعيت جو تعاقب. هن نظريي جا حامي يقين رکن ٿا ته ڪوڊ ممڪن طور تي جامع هجڻ گهرجي، جيتوڻيڪ ان کي سمجهڻ لاءِ ڪيترن ئي لکن جي تبصري جي ضرورت هجي. ٻين ڊولپرز کي يقين آهي ته ڪوڊ کي ريفيڪٽر ڪيو وڃي ته جيئن اهو گهٽ ۾ گهٽ تبصرن سان سمجهي سگهجي. هر ٽيم پنهنجي پوزيشن چونڊيندي آهي، پر اسان کي ياد رکڻ گهرجي ته ريفيڪٽرنگ ڪا گهٽتائي ناهي . ان جو بنيادي مقصد ڪوڊ جي جوڙجڪ کي بهتر ڪرڻ آهي. هن عالمي مقصد ۾ ڪيترائي مقصد شامل ٿي سگهن ٿا:
  1. Refactoring ٻئي ڊولپر پاران لکيل ڪوڊ جي سمجھ کي بهتر بڻائي ٿو.
  2. غلطيون ڳولڻ ۽ درست ڪرڻ ۾ مدد ڪري ٿي؛
  3. توهان کي سافٽ ويئر ڊولپمينٽ جي رفتار کي وڌائڻ جي اجازت ڏئي ٿي؛
  4. مجموعي طور تي سافٽ ويئر جي جوڙجڪ کي بهتر بڻائي ٿو.
جيڪڏهن ريفيڪٽرنگ ڊگهي وقت تائين نه ڪئي وئي، ترقي جي مشڪلات پيدا ٿي سگهي ٿي، ڪم جي مڪمل بند ٿيڻ تائين.

"ڪوڊ بوء"

جڏهن ڪوڊ کي ريفيڪٽرنگ جي ضرورت آهي، اهي چوندا آهن ته "بو آهي." يقينا، لفظي طور تي نه، پر اهڙي ڪوڊ حقيقت ۾ تمام سٺو نظر نٿو اچي. هيٺ اسين شروعاتي اسٽيج لاءِ مکيه ريفيڪٽرنگ ٽيڪنڪ تي غور ڪنداسين.

غير ضروري طور تي وڏا عنصر

اهڙا پيچيده طبقا ۽ طريقا آهن جيڪي انهن جي وڏي سائيز جي ڪري مؤثر نموني سان ڪم ڪرڻ ناممڪن آهي.

وڏو طبقو

اهڙي طبقي ۾ ڪوڊ جون لائينون ۽ ڪيترائي مختلف طريقا آهن. اهو عام طور تي هڪ ڊولپر لاءِ آسان هوندو آهي هڪ فيچر شامل ڪرڻ هڪ موجوده ڪلاس ۾ هڪ نئين ٺاهڻ بجاءِ، جنهن ڪري اهو وڌي ٿو. ضابطي جي طور تي، هن طبقي جي ڪارڪردگي اوورلوڊ ٿيل آهي. انهي حالت ۾، ڪارڪردگي جو حصو الڳ الڳ طبقي ۾ مدد ڪري ٿو. اسان ان بابت وڌيڪ تفصيل سان ڳالهائينداسين ريفيڪٽرنگ ٽيڪنڪ سيڪشن ۾.

وڏو طريقو

هي "بو" تڏهن ٿئي ٿو جڏهن هڪ ڊولپر هڪ طريقي سان نئين ڪارڪردگي شامل ڪري ٿو. ”جيڪڏهن مان ان کي هتي لکي سگهان ٿو ته مان پيراميٽر چيڪنگ کي الڳ طريقي سان ڇو رکان؟“، ”صف ۾ وڌ ۾ وڌ عنصر ڳولڻ لاءِ طريقو الڳ ڪرڻ ڇو ضروري آهي، اچو ته ان کي هتي ڇڏي ڏيون. هن طريقي سان ڪوڊ صاف آهي، "۽ ٻيا غلط فڪر. ھڪڙي وڏي طريقي کي ريفيڪٽر ڪرڻ لاء ٻه قاعدا آھن:
  1. جيڪڏهن، هڪ طريقو لکڻ وقت، توهان ڪوڊ ۾ هڪ تبصرو شامل ڪرڻ چاهيو ٿا، توهان کي هن ڪارڪردگي کي الڳ طريقي سان الڳ ڪرڻ جي ضرورت آهي؛
  2. جيڪڏهن ڪو طريقو 10-15 کان وڌيڪ لائنون ڪوڊ وٺي ٿو، توهان کي انهن ڪمن ۽ ذيلي ڪمن جي نشاندهي ڪرڻ گهرجي جيڪي اهو انجام ڏئي ٿو ۽ ذيلي ڪمن کي الڳ طريقي سان الڳ ڪرڻ جي ڪوشش ڪريو.
وڏي طريقي کي ختم ڪرڻ لاء ڪيترائي طريقا:
  • ھڪڙي طريقي جي ڪارڪردگي جو ھڪڙو حصو الڳ الڳ طريقي سان.
  • جيڪڏهن مقامي متغير توهان کي ڪارڪردگي جو حصو ڪڍڻ جي اجازت نٿا ڏين، توهان سڄي اعتراض کي ٻئي طريقي سان منتقل ڪري سگهو ٿا.

ڪيترن ئي ابتدائي ڊيٽا جي قسمن کي استعمال ڪندي

عام طور تي، هي مسئلو تڏهن ٿئي ٿو جڏهن ڪلاس ۾ ڊيٽا کي ذخيرو ڪرڻ لاءِ فيلڊن جو تعداد وقت سان گڏ وڌي ٿو. مثال طور، جيڪڏهن توهان ڊيٽا (ڪرنسي، تاريخ، ٽيليفون نمبر، وغيره) کي ذخيرو ڪرڻ لاءِ ننڍين شين جي بدران ابتدائي قسم استعمال ڪندا آهيو يا ڪنهن به معلومات کي انڪوڊ ڪرڻ لاءِ مستقل. هن معاملي ۾ هڪ سٺو عمل منطقي طور تي فيلڊ کي گروپ ڪرڻ ۽ انهن کي هڪ الڳ ڪلاس ۾ رکڻو پوندو (هڪ طبقي کي چونڊيو). توھان ڪلاس ۾ ھن ڊيٽا کي پروسيس ڪرڻ جا طريقا پڻ شامل ڪري سگھو ٿا.

اختيارن جي ڊگهي لسٽ

ھڪڙي عام غلطي، خاص طور تي ھڪڙي وڏي طريقي سان ميلاپ ۾. اهو عام طور تي ٿئي ٿو جيڪڏهن طريقي جي ڪارڪردگي اوورلوڊ ٿيل آهي، يا طريقو ڪيترن ئي الگورتھم کي گڏ ڪري ٿو. پيرا ميٽرن جي ڊگھي لسٽن کي سمجھڻ تمام ڏکيو آھي، ۽ اھڙيون طريقا استعمال ڪرڻ ۾ مشڪل آھن. تنهن ڪري، اهو بهتر آهي ته سڄي اعتراض کي منتقل ڪرڻ لاء. جيڪڏهن اعتراض وٽ ڪافي ڊيٽا نه آهي، اهو وڌيڪ عام اعتراض استعمال ڪرڻ يا طريقي جي ڪارڪردگي کي ورهائڻ جي قابل آهي ته جيئن اهو منطقي طور تي لاڳاپيل ڊيٽا کي پروسيس ڪري.

ڊيٽا گروپ

ڊيٽا جي منطقي طور تي لاڳاپيل گروپ اڪثر ڪري ڪوڊ ۾ ظاهر ٿيندا آهن. مثال طور، ڊيٽابيس ۾ ڪنيڪشن پيٽرولر (URL، يوزرنيم، پاسورڊ، اسڪيما جو نالو، وغيره). جيڪڏهن عنصرن جي فهرست مان هڪ به فيلڊ ختم نه ٿي ڪري سگھجي ته پوءِ اها فهرست ڊيٽا جو هڪ گروپ آهي جنهن کي الڳ ڪلاس (ڪلاس سليڪشن) ۾ رکڻ گهرجي.

حل جيڪي OOP جي تصور کي خراب ڪن ٿا

هن قسم جي ”بو“ تڏهن ٿيندي آهي جڏهن ڊولپر OOP ڊيزائن جي ڀڃڪڙي ڪندو آهي. اهو تڏهن ٿئي ٿو جڏهن هو هن تمثيل جي صلاحيتن کي مڪمل طور تي نه سمجهي، انهن کي نامڪمل يا غلط استعمال ڪري ٿو.

وراثت کان انڪار

جيڪڏهن هڪ ذيلي ڪلاس والدين طبقي جي ڪمن جو گهٽ ۾ گهٽ حصو استعمال ڪري ٿو، اهو هڪ غلط درجه بندي وانگر بوندو آهي. عام طور تي، هن حالت ۾، غير ضروري طريقا صرف ختم نه ڪيا ويا آهن يا استثنا اڇلايا ويا آهن. جيڪڏهن هڪ طبقو ڪنهن ٻئي کان وراثت ۾ ملي ٿو، اهو مطلب آهي ته ان جي ڪارڪردگيءَ جو تقريباً مڪمل استعمال. هڪ صحيح درجه بندي جو مثال: جاوا ۾ ريفيڪٽرنگ ڪيئن ڪم ڪري ٿي - 2 هڪ غلط درجه بندي جو مثال: جاوا ۾ ريفيڪٽرنگ ڪيئن ڪم ڪري ٿي - 3

بيان تبديل ڪرڻ

هڪ آپريٽر سان ڇا غلط ٿي سگهي ٿو switch؟ اهو خراب آهي جڏهن ان جي جوڙجڪ تمام پيچيده آهي. ھن ۾ گھڻا نسٽڊ بلاڪ پڻ شامل آھن if.

مختلف انٽرفيس سان متبادل ڪلاس

ڪيترائي طبقا لازمي طور تي ساڳيو ڪم ڪن ٿا، پر انهن جا طريقا مختلف نالا رکيا ويا آهن.

عارضي ميدان

جيڪڏهن ڪلاس ۾ هڪ عارضي فيلڊ آهي جنهن جي اعتراض کي صرف ڪڏهن ڪڏهن ضرورت هوندي آهي، جڏهن اهو قدرن سان ڀريل هوندو آهي، ۽ باقي وقت اهو خالي هوندو آهي يا، خدا نه ڪري، ته nullپوء ڪوڊ "بو آهي"، ۽ اهڙي جوڙجڪ هڪ مشڪوڪ آهي. فيصلو.

بدبو جيڪي تبديليءَ کي مشڪل بڻائين ٿيون

اهي "بوء" وڌيڪ سنجيده آهن. باقي بنيادي طور تي ڪوڊ جي سمجھ کي خراب ڪن ٿا، جڏهن ته اهي ان کي تبديل ڪرڻ ممڪن نه ٿا ڪن. جڏهن ڪنهن به خصوصيت کي متعارف ڪرايو، اڌ ڊولپرز ڇڏي ويندا، ۽ اڌ چريو ٿي ويندا.

متوازي وراثت وارو سلسلو

جڏهن توهان هڪ ڪلاس جو هڪ ذيلي ڪلاس ٺاهيو ٿا، توهان کي لازمي طور تي هڪ ٻيو ذيلي ڪلاس ٺاهڻ گهرجي.

يونيفارم انحصار جي ورڇ

جڏهن ڪنهن به ترميم کي انجام ڏيو، توهان کي هن طبقي جي سڀني انحصار (استعمال) کي ڳولڻو پوندو ۽ ڪيتريون ئي ننڍيون تبديليون ڪرڻ گهرجن. ھڪڙي تبديلي - ڪيترن ئي طبقن ۾ تبديليون.

ڪمپليڪس ترميمي وڻ

هي بوء پوئين هڪ جي ابتڙ آهي: تبديليون ساڳئي طبقي جي طريقن جي وڏي تعداد تي اثر انداز ڪن ٿا. ضابطي جي طور تي، اهڙي ڪوڊ ۾ انحصار cascading آهي: هڪ طريقو تبديل ڪري، توهان کي ڪنهن ٻئي ۾ ڪجهه ٺيڪ ڪرڻ جي ضرورت آهي، ۽ پوء ٽئين ۾، ۽ پوء تي. هڪ طبقو - ڪيتريون ئي تبديليون.

”ڪچري جي بوءِ“

بدبوءَ جو هڪ بدران اڻ وڻندڙ ​​قسم جيڪو سر درد جو سبب بڻجندو آهي. بيڪار ، غير ضروري ، پراڻو ڪوڊ. خوشقسمتيءَ سان، جديد IDEs ۽ linters سکيو آهي ته اهڙي خوشبوءَ بابت ڊيڄارڻ.

طريقن ۾ رايا جو هڪ وڏو تعداد

هن طريقي ۾ تقريبن هر لڪير تي تمام گهڻو وضاحتي رايا آهن. اهو عام طور تي هڪ پيچيده الگورتھم سان لاڳاپيل آهي، تنهنڪري اهو بهتر آهي ته ڪوڊ کي ڪيترن ئي ننڍن طريقن ۾ ورهايو وڃي ۽ انهن کي معني وارا نالا ڏيو.

ڪوڊ نقل

مختلف طبقن يا طريقا استعمال ڪن ٿا ساڳيا بلاڪ ڪوڊ جا.

سست ڪلاس

ڪلاس تمام گهٽ ڪارڪردگي تي وٺندو آهي، جيتوڻيڪ ان جو تمام گهڻو منصوبو هو.

اڻ استعمال ٿيل ڪوڊ

هڪ ڪلاس، طريقو يا متغير ڪوڊ ۾ استعمال نه ڪيو ويو آهي ۽ "مئل وزن" آهي.

زيادتي جوڙڻ

بوء جي هن قسم جي ڪوڊ ۾ غير ضروري ڪنيڪشن جي هڪ وڏي تعداد جي خاصيت آهي.

ٽئين پارٽي جي طريقن

هڪ طريقو ڪنهن ٻئي اعتراض جي ڊيٽا کي استعمال ڪري ٿو گهڻو ڪري ان جي ڀيٽ ۾ ان جي پنهنجي ڊيٽا کي استعمال ڪري ٿو.

نامناسب قربت

هڪ طبقو استعمال ڪري ٿو خدمت جا شعبا ۽ طريقا ٻئي طبقي جا.

ڊگهو ڪلاس ڪالون

ھڪڙو طبقو ٻئي کي سڏي ٿو، جيڪو ٽئين کان ڊيٽا جي درخواست ڪري ٿو، اھو چوٿين کان، وغيره. ڪالن جي اهڙي ڊگهي زنجير جو مطلب آهي موجوده طبقاتي ڍانچي تي اعليٰ سطح جو انحصار.

ڪلاس-ٽاسڪ- ڊيلر

ھڪڙي طبقي کي صرف ھڪڙي ڪم کي ٻئي طبقي ڏانھن منتقل ڪرڻ جي ضرورت آھي. ٿي سگهي ٿو ته ان کي ختم ڪرڻ گهرجي؟

Refactoring ٽيڪنڪس

هيٺ اسين ابتدائي ريفيڪٽرنگ ٽيڪنالاجي بابت ڳالهائينداسين جيڪي بيان ڪيل ڪوڊ بوء کي ختم ڪرڻ ۾ مدد ڪندي.

ڪلاس جي چونڊ

ڪلاس تمام گھڻن ڪمن کي انجام ڏئي ٿو؛ انھن مان ڪجھ کي ٻئي ڪلاس ڏانھن منتقل ڪرڻ جي ضرورت آھي. مثال طور، اتي ھڪڙو طبقو آھي Humanجنھن ۾ ھڪڙو رھائشي پتو ۽ ھڪڙو طريقو آھي جيڪو پورو پتو مهيا ڪري ٿو:
class Human {
   private String name;
   private String age;
   private String country;
   private String city;
   private String street;
   private String house;
   private String quarter;

   public String getFullAddress() {
       StringBuilder result = new StringBuilder();
       return result
                       .append(country)
                       .append(", ")
                       .append(city)
                       .append(", ")
                       .append(street)
                       .append(", ")
                       .append(house)
                       .append(" ")
                       .append(quarter).toString();
   }
}
اهو هڪ سٺو خيال هوندو پتو ڄاڻ ۽ طريقو (ڊيٽا پروسيسنگ رويي) کي الڳ ڪلاس ۾ رکڻ لاءِ:
class Human {
   private String name;
   private String age;
   private Address address;

   private String getFullAddress() {
       return address.getFullAddress();
   }
}
class Address {
   private String country;
   private String city;
   private String street;
   private String house;
   private String quarter;

   public String getFullAddress() {
       StringBuilder result = new StringBuilder();
       return result
                       .append(country)
                       .append(", ")
                       .append(city)
                       .append(", ")
                       .append(street)
                       .append(", ")
                       .append(house)
                       .append(" ")
                       .append(quarter).toString();
   }
}

طريقو چونڊ

جيڪڏهن ڪا به ڪارڪردگي هڪ طريقي سان گروپ ڪري سگهجي ٿي، ان کي هڪ الڳ طريقي سان رکڻ گهرجي. مثال طور، هڪ طريقو جيڪو حساب ڪري ٿو هڪ quadratic مساوات جي جڙ:
public void calcQuadraticEq(double a, double b, double c) {
    double D = b * b - 4 * a * c;
    if (D > 0) {
        double x1, x2;
        x1 = (-b - Math.sqrt(D)) / (2 * a);
        x2 = (-b + Math.sqrt(D)) / (2 * a);
        System.out.println("x1 = " + x1 + ", x2 = " + x2);
    }
    else if (D == 0) {
        double x;
        x = -b / (2 * a);
        System.out.println("x = " + x);
    }
    else {
        System.out.println("Equation has no roots");
    }
}
اچو ته سڀني ٽن ممڪن اختيارن جي حساب ڪتاب کي الڳ الڳ طريقن ۾ منتقل ڪريون:
public void calcQuadraticEq(double a, double b, double c) {
    double D = b * b - 4 * a * c;
    if (D > 0) {
        dGreaterThanZero(a, b, D);
    }
    else if (D == 0) {
        dEqualsZero(a, b);
    }
    else {
        dLessThanZero();
    }
}

public void dGreaterThanZero(double a, double b, double D) {
    double x1, x2;
    x1 = (-b - Math.sqrt(D)) / (2 * a);
    x2 = (-b + Math.sqrt(D)) / (2 * a);
    System.out.println("x1 = " + x1 + ", x2 = " + x2);
}

public void dEqualsZero(double a, double b) {
    double x;
    x = -b / (2 * a);
    System.out.println("x = " + x);
}

public void dLessThanZero() {
    System.out.println("Equation has no roots");
}
هر طريقي جو ڪوڊ تمام ننڍو ۽ واضح ٿي چڪو آهي.

سڄي شئي جي منتقلي

جڏهن پيرا ميٽرز سان هڪ طريقو سڏين ٿا، توهان ڪڏهن ڪڏهن هن طرح ڪوڊ ڏسي سگهو ٿا:
public void employeeMethod(Employee employee) {
    // Некоторые действия
    double yearlySalary = employee.getYearlySalary();
    double awards = employee.getAwards();
    double monthlySalary = getMonthlySalary(yearlySalary, awards);
    // Продолжение обработки
}

public double getMonthlySalary(double yearlySalary, double awards) {
     return (yearlySalary + awards)/12;
}
طريقي ۾، employeeMethodقيمتون حاصل ڪرڻ ۽ انهن کي پرائمري متغيرن ۾ محفوظ ڪرڻ لاءِ 2 لائينون مختص ڪيون ويون آهن. ڪڏهن ڪڏهن اهڙيون ڊزائنون 10 لائينون وٺي وڃن ٿيون. اهو تمام آسان آهي اعتراض پاڻ کي طريقي سان منتقل ڪرڻ، جتان توهان ضروري ڊيٽا ڪڍي سگهو ٿا:
public void employeeMethod(Employee employee) {
    // Некоторые действия
    double monthlySalary = getMonthlySalary(employee);
    // Продолжение обработки
}

public double getMonthlySalary(Employee employee) {
    return (employee.getYearlySalary() + employee.getAwards())/12;
}
سادو، مختصر ۽ مختصر.

فيلڊز جي منطقي گروهه بندي ۽ انهن کي الڳ ڪلاس ۾ رکڻ

ان حقيقت جي باوجود ته مٿيان مثال ڏاڍا سادا آهن ۽ انهن کي ڏسندي ڪيترائي سوال پڇي سگهن ٿا ته ”هي ڪير ٿو ڪري؟“، ڪيترائي ڊولپر، اڻڄاڻائيءَ جي ڪري، ڪوڊ کي ريفيڪٽر ڪرڻ جي خواهش نه هئڻ جي ڪري، يا رڳو ”اهو ڪندا“ ڪري ٿو. ساڳي جوڙجڪ غلطيون.

ڇو refactoring اثرائتو آهي

سٺي ريفيڪٽرنگ جو نتيجو هڪ پروگرام آهي جنهن جو ڪوڊ پڙهڻ ۾ آسان آهي، پروگرام جي منطق ۾ تبديلين کي خطرو نٿو ٿئي، ۽ نئين خاصيتن جو تعارف ڪوڊ پارسنگ جهنم ۾ تبديل نٿو ڪري، پر ڪجهه ڏينهن لاء هڪ خوشگوار سرگرمي. . ريفريڪٽرنگ کي استعمال نه ڪيو وڃي جيڪڏهن اهو پروگرام کي شروع کان ٻيهر لکڻ آسان هوندو. مثال طور، ٽيم اندازو لڳائي ٿو مزدورن جي قيمتن کي پارس ڪرڻ، تجزيي ڪرڻ ۽ ريفيڪٽرنگ ڪوڊ لاءِ وڌيڪ هجڻ جي ڀيٽ ۾ ساڳئي ڪارڪردگي کي شروع کان لاڳو ڪرڻ لاءِ. يا ڪوڊ جنهن کي ريفيڪٽر ڪرڻ جي ضرورت آهي ان ۾ ڪيتريون ئي غلطيون آهن جن کي ڊيبگ ڪرڻ ڏکيو آهي. ڄاڻو ته ڪوڊ جي ڍانچي کي ڪيئن بهتر بڻائڻ هڪ پروگرامر جي ڪم ۾ لازمي آهي. چ ،و ، اهو بهتر آهي ته جاوا پروگرامنگ سکڻ لاءِ JavaRush - هڪ آن لائن ڪورس مشق تي زور سان. فوري تصديق سان 1200+ ڪم، اٽڪل 20 مني پروجيڪٽ، راند جا ڪم - هي سڀ توهان کي ڪوڊنگ ۾ اعتماد محسوس ڪرڻ ۾ مدد ڪندو. شروع ڪرڻ جو بهترين وقت هاڻي آهي :) جاوا ۾ ريفيڪٽرنگ ڪيئن ڪم ڪري ٿي - 4

ريفيڪٽرنگ ۾ وڌيڪ ڊائيونگ لاء وسيلا

Refactoring جي باري ۾ سڀ کان وڌيڪ مشهور ڪتاب آهي "Refactoring. موجوده ڪوڊ جي ڊيزائن کي بهتر بنائڻ "مارٽن فولر پاران. ريفڪٽرنگ تي پڻ هڪ دلچسپ اشاعت آهي، جيڪو هڪ پوئين ڪتاب جي بنياد تي لکيو ويو آهي - جوشوا ڪيريوسڪي طرفان "پيٽرنز سان ريفڪٽرنگ". ٽيمپليٽس جي ڳالهائيندي. جڏهن ريفيڪٽرنگ، اهو هميشه لاء تمام مفيد آهي بنيادي ايپليڪيشن ڊيزائن جي نمونن کي ڄاڻڻ لاء. اهي عظيم ڪتاب هن ۾ مدد ڪندا:
  1. "ڊزائن جا نمونا" - ايريڪ فريمين پاران، ايلزبيٿ فريمين، ڪيٿي سيرا، برٽ بيٽس کان هيڊ فرسٽ سيريز؛
  2. "پڙهڻ وارو ڪوڊ، يا هڪ فن جي طور تي پروگرامنگ" - Dustin Boswell، Trevor Faucher.
  3. "Perfect Code" Steve McConnell پاران، جيڪو خوبصورت ۽ خوبصورت ڪوڊ جا اصول بيان ڪري ٿو.
خير، refactoring جي باري ۾ چند مضمون:
  1. هڪ ڪم جو دوزخ: اچو ته شروع ڪريون ريفيڪٽرنگ ورثي واري ڪوڊ ؛
  2. ريفيڪٽرنگ ؛
  3. هر ڪنهن لاءِ ريفريڪٽرنگ .
    تبصرا
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION