Jump to ratings and reviews

Addison-Wesley Professional Ruby Series

Refactoring: Improving the Design of Existing Code

As the application of object technology—particularly the Java programming language—has become commonplace, a new problem has emerged to confront the software development community. Significant numbers of poorly designed programs have been created by less-experienced developers, resulting in applications that are inefficient and hard to maintain and extend. Increasingly, software system professionals are discovering just how difficult it is to work with these inherited, non-optimal applications. For several years, expert-level object programmers have employed a growing collection of techniques to improve the structural integrity and performance of such existing software programs. Referred to as refactoring, these practices have remained in the domain of experts because no attempt has been made to transcribe the lore into a form that all developers could use... until now. In Refactoring: Improving the Design of Existing Software, renowned object technology mentor Martin Fowler breaks new ground, demystifying these master practices and demonstrating how software practitioners can realize the significant benefits of this new process.

431 pages, Hardcover

First published January 1, 1999

Loading...
Loading...

About the author

Martin Fowler

46 books1,127 followers
Martin Fowler (b. 1963) is a software engineer, Chief Scientist at ThoughtWorks, and an outspoken advocate for best practices in enterprise software design, particularly in regard to agile software development methodologies, including extreme programming.

Ratings & Reviews

What do you think?

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
4,122 (46%)
4 stars
3,199 (36%)
3 stars
1,223 (13%)
2 stars
250 (2%)
1 star
90 (1%)
Displaying 1 - 1 of 1 review
Profile Image for Mahmoud Youssef.
58 reviews8 followers
February 26, 2022
كتاب Refactoring : Improving The Design of Existing Code
الكتاب قبل مايبدأ يكلم عن أي حاجة بتخص الـ Refactoring بياخدك في مثال فعلي لكود مكتوب، وان ازاي الكود بعد ما حصله Refactoring قادر انه يكون مرن و Resilient قصاد اي تغيرات ممكن تطرأ عليه ..
بعد كده الكتاب بياخدك في رحلة نظرية شوية بانه بيعرفك يعني ايه Refactoring واهميته وان الـ Refactoring مش هو الـ Clean Code ، وازاي ان الـ Refactoring لو هياخد وقت في حساب الـ Project Timeline فهو بيوفر وقت كتير قدام لاي Change او Feature هتنضاف بعد كده ، فهو عملية استثمار لاي تغيير او اضافة للـ Software اللي انت بتكتبه ،،
الكتاب كان ملئ بالجزء الاول ده بشوية مقولات جميلة جدا من الحجات الي علقت معايا ، هو انك تحاول في اي مشروع هتدخل تكتب فيه كود انك تسيبه احسن من ماكان موجود، وده هيزرع فيك بعد كده ان اللي جاي بعدك توفر عليه مجهود في الفهم والتعديل عليه ..
بعد كده الكتاب بيتجه الى انه يوريك امتة تعرف تقول ان فيه حاجة هنا محتاجة يتعملها Refactoring ولا لا عن طريق شوية Code Smells ممكن تقابلهم ، بالاضافة لان كنت مبسوط من انه ماشي بمبدأ الـ TDD وهو الـ Test Driven Development ان قبل اي حاجة بيعملها كان عنده Test Cases بيطبقها عشان يشوف هل التغير الي عمله ده هيبوظ الدنيا ولا لا وبناء عليه يرجع يشوف اي اللي باظ ،،
ومن الجمل اللي علقت هي Only one step at time يعني وانت بتعمل Refactoring خليك ماشي فيه حاجة حاجة متعملش اكتر من حاجة في نفس الوقت عشان لو حاجة باظت يبقى سهل ترجع للخطوة الي قبلها علطول تشوف ايه اللي ادى لده ،،
بعد كده الكتاب بيدخل في Catalogue خاص بالـ Techniques اللي ممكن تلجألها عشان تعمل Refactoring وبيستمر رحلة الكتاب في انه يوريك بمثال عملي وتطبيقي كل Technique من دول بيتم استعماله ازاي وبيعالج ايه ،،
من ضمن اهم Techniques اللي ممكن اقول اني لسه مطبقهم في شغلي في آخر مشروع هم : Replace Conditions with Polymorphism بالاضافة للـ Replace Type Code with Strategy
في الحقيقة الكتاب ينصح بيه لشدة لاي حد لسه بيدرس في الكلية ، وينصح بقراءته لاي حد لسه بادئ في المجال او لاي حد فاهم شوية بس مش عارف يطبق ده ازاي ،، ولكن بالنسبة للناس اللي هتكون مرت بتجربة انها فاهمة Design Patterns او بتكتب كود كتير ومحتكة بكتابة الكود وبتطبق الـ Refactoring ف شغلها بشكل مستمر ، فالكتاب مش هيضيف كتير غير بعض المعلومات ، وممكن يكون ممل بالنسبالك ،،
الكتاب كان من وجهة نظري فيه كلام كتيير كان ممكن يتم اختزاله، وموقع Refactoring.guru متاح ومبسط الـ Techniques دي كلها وشارحها بشكل مبسط وسريع كمان ،، ووجهة النظر دي نابعة فقط من ان اغلب الكلام اللي كان بيكلم عنه الكتاب سبق ومريت بيه في كورسات وقراءة كتب سابقة ومقالات بتصب في نفس الاتجاه فعشان كده حسيت بملل شوية ،،
تقييمي للكتاب : 4 / 5
Displaying 1 - 1 of 1 review