Refactoring Improving the Design of Existing Code Second edition
«هر نادانی میتواند کدی را که کامپیوتر میتواند درک کند، بنویسند. برنامه نویسان خوب کدی مینویسند که انسانها نیز بتوانند آن را بفهمند.» (M-Fowler (1999
ریفکتور کردن، تکنیکی کنترل شده برای بهبود طراحی اساس کد موجود است. ماهیت این کار اعمال یک سری تغییرات حفظ کنندهی رفتار کد است که هر یک از آنها «خیلی کوچک اند تا ارزشش را داشته باشد». با این حال اثر تجمعی هر یک از این تغییرات، بسیار قابل توجه است. با انجام آنها در مراحل کوچک، شما خطر ایجاد خطا را کاهش میدهید. شما همچنین از ترکیدن سیستم به هنگام انجام بازسازی اجتناب خواهید کرد که به شما اجازه خواهد داد تا به تدریج یک سیستم را در مدت زمانی طولانی ریفکتور کنید.
در ویرایش دوم کتاب Refactoring: Improving the Design of Existing Code، فرآیند ریفکتور کردن شرح داده شده است و بیشتر زمانش را بر روی توضیح دادن انجام ریفکتورهای مختلف که حفظ کنندهی رفتار کد هستند، صرف کرده است. این کتاب با یک مثال ساده که کل روند را توصیف میکند، شروع میشود. سپس تعدادی فصل مقدماتی وجود دارد که بحثهای گستردهتری در مورد refactoring را در میگیرد مثل code smells که ریفکتور کردن را پیشنهاد میدهد، و نقش تست کردن.
بیشتر این کتاب حول هفتاد مورد ریفکتور کردن است که با جزئیاتی از قبیل انگیزهی انجام آنها و نحوهی انجام آنها به همراه یک مثال ساده آمده اند.
For more than twenty years, experienced programmers worldwide have relied on Martin Fowler’s Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand.
This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes.
Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.
Understand the process and general principles of refactoring
Quickly apply useful refactorings to make a program easier to comprehend and change
Recognize “bad smells” in code that signal opportunities to refactor
Explore the refactorings, each with explanations, motivation, mechanics, and simple examples
Build solid tests for your refactorings
Recognize tradeoffs and obstacles to refactoring
Includes free access to the canonical web edition, with even more refactoring resources. (See inside the book for details about how to access the web edition.)
Table of Contents
Chapter 1 Refactoring: A First Example
Chapter 2 Principles in Refactoring
Chapter 3 Bad Smells in Code
Chapter 4 Building Tests
Chapter 5 Introducing the Catalog
Chapter 6 A First Set of Refactorings
Chapter 7 Encapsulation
Chapter 8 Moving Features
Chapter 9 Organizing Data
Chapter 10 Simplifying Conditional Logic
Chapter 11 Refactoring APIs
Chapter 12 Dealing with Inheritance