Refactoring : Improving The Design of Existing Code Book Recommendation

يبدأ الكتاب وقبل أي شيء لعرض مثال واقعي لكود مكتوب، حتى يريك كيف أنه بعد تحسينه من خلال الـ Refactoring أصبح قادرًا أن يكون Resilient ومرن لأي تغييرات من الممكن أن تطرأ عليه.
Refactoring : Improving The Design of Existing Code Book Recommendation

في هذه الصفحة

معلومات عامة عن الكتاب

يبدأ الكتاب وقبل أي شيء لعرض مثال واقعي لكود مكتوب، حتى يريك كيف أنه بعد تحسينه من خلال الـ Refactoring أصبح قادرًا أن يكون Resilient ومرن لأي تغييرات من الممكن أن تطرأ عليه.

مراجعة لمحتوى الكتاب

يبدأ الكتاب في فصوله الأولى في رحلة لدراسة وفهم معنى الـ Refactoring وأهميته وما هو الفرق بينه وبين الـ Clean Code، وكيف رغم أنه يؤثر سلبًا في الخطة الزمنية لأي مشروع لما يضيفه من وقت، إلا أنه سيوفر العديد والعديد من الوقت لأي تغييرات أو متطلبات قد تطرأ عليه في أي وقت، فهو يُعد عملية استثمار واضحة للـ Software الذي تقوم بكتابته.

من ضمن المقولات التي أعجبتني كثيرًا في هذا الكتاب، هو ألا تترك أي كود تتعامل معه إلا بشكل أفضل مما كان عليه حتى تسهل وتوفر الوقت على من يأتي بعدك للقيام بالصيانة والتعديل بل والإضافة عليه بشكل سلس. وهذه النصيحة إذا حاولت تطبيقها ستغرس فيك هذا إلى الأبد.

ثم يتناول الكتاب أحد أهم فصوله وهو كيفية معرفة وتحديد الـ Code Smells الموجودة والتي بلا شك علاجها هو عملية الـ Refactoring التي ستقوم بها، بالإضافة إلى أنه يتبنى بشكل ما أسلوب الـ TDD أو ما يعرف بالـ Test Driven Development فقبل إضافة أو تغيير أي شيء يقوم بكتاب الـ Unit Tests مرورًا بإضافة أو تعديل الجزء المطلوب ومن ثم نهاية بعملية الـ Refactoring حتى يضمن أن أي تغيير أو أي عملية Refactoring قام بها لم تؤثر على باقي الوحدة المتكاملة للكود.

من ضمن النصائح الهامة التي كررها الكتاب هي ضرورة عمل خطوة واحدة فقط والتركيز عليها أثناء عملية الـ Refactoring فلا تقوم بأكثر من شيء في نفس الوقت ولا تقم بعمل Refactoring لأكثر من جزء في نفس ذات الوقت، حتى يتثنى لك سهولة الرجوع ومعرفة إذا ما كان هنالك جزء قد تسببت بمشاكل به.

ومن ثم يختتم الكتاب كلامه وتناوله للموضوع بعمل كتالوج يشمل كل الـ Techniques التي يمكن تطبيقها واللجوء إليها في عملية الـ Refactoring على سبيل المثال : Replace Conditions with Polymorphism بالإضافة إلى Replace Type Code with Strategy.

المميزات والانتقادات

المميزات:

١- أسلوبه سهل وبسيط ولا يحتاج إلى معرفة معقدة باللغة الانجليزية.

٢- الكتاب مليء بالأمثلة والـ Code Snippets حتى يسهل عليك الفهم.

٣- الكتاب يمكن الاعتماد عليه كمرجع والرجوع إليه خصوصًا لوجود كاتالوج خاص بالتكتيكات لعملية الـ Refactoring

الانتقادات:
١- هنالك العديد من المواضيع والنقاط التي كان من الممكن اختزالها.

في الختام

هذا الكتاب يعد من الكتب المميزة التي ستريك كيفية كتابة كود بشكل يسهل التغيير والإضافة عليه وهذه المهارة من المهارات التي يجب توافرها والاهتمام بها من قبل الجميع، لإنك وبلا شك لن تود أن تعمل وترى كود غير نظيف يكلفك فهمه أو التعديل والإضافة عليه الكثير من الجهد، فاتبع نصيحة الكتاب ولا تترك أي كود إلا وجعلته أفضل مما عليه.

يمكنك الآن الرجوع إلى هذا الكتالوج مرارًا وتكرارًا إما بالرجوع للكتاب أو من خلال مصادر متاحة ومتنوعة كـ Refactoring.guru فهذا الموقع يتيح لك ذلك بشكل مرتب ومنظم لكل الـ Techniques الموجودة بالكتاب.

اشترك الآن بنشرة اقرأ-تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!