دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Martin Fowler
سری:
ISBN (شابک) : 9780134757704, 013475770X
ناشر: Addison-Wesley Professional
سال نشر: 2018
تعداد صفحات: 445
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 5 مگابایت
در صورت تبدیل فایل کتاب Refactoring: Improving the Design of Existing Code به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Refactoring: بهبود طراحی کد موجود نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
کاملاً بازبینی و بهروزرسانی شده – شامل بازآفرینیهای جدید و نمونههای کد «هر احمقی میتواند کدی بنویسد که یک رایانه بتواند آن را بفهمد. برنامه نویسان خوب کدی را می نویسند که انسان بتواند آن را درک کند. - م. فاولر (1999) برای بیش از بیست سال، برنامه نویسان باتجربه در سراسر جهان برای بهبود طراحی کدهای موجود و بهبود قابلیت نگهداری نرم افزار و همچنین درک بهتر کد موجود، به Refactoring مارتین فاولر اعتماد کرده اند. این نسخه جدید که مشتاقانه منتظرش بودیم به طور کامل به روز شده است تا تغییرات اساسی در چشم انداز برنامه نویسی را منعکس کند. Refactoring، نسخه دوم، دارای یک کاتالوگ به روز شده از refactoring است و شامل نمونه های کد جاوا اسکریپت، و همچنین نمونه های کاربردی جدیدی است که بازسازی بدون کلاس را نشان می دهد. مانند نسخه اصلی، این نسخه توضیح می دهد که بازسازی مجدد چیست. چرا باید refactor کنید نحوه تشخیص کدهایی که نیاز به refactoring دارند. و چگونه می توان آن را با موفقیت انجام داد، مهم نیست از چه زبانی استفاده می کنید. فرآیند و اصول کلی بازسازی را درک کنید به سرعت از بازسازی های مفید برای درک و تغییر برنامه آسان تر استفاده کنید. شناسایی «بوی بد» در کدی که سیگنال فرصت هایی برای refactor است. آزمایشهایی برای بازسازیهای شما شناسایی معاوضهها و موانع برای بازسازی شامل دسترسی رایگان به نسخه وب متعارف، با منابع بازسازی حتی بیشتر. (برای جزئیات در مورد نحوه دسترسی به نسخه وب به داخل کتاب مراجعه کنید.)
Fully Revised and Updated–Includes New Refactorings and Code Examples “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” —M. Fowler (1999)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.)
Cover Title Page Copyright Page Dedication Contents Foreword to the First Edition Preface Chapter 1: Refactoring: A First Example The Starting Point Comments on the Starting Program The First Step in Refactoring Decomposing the statement Function Status: Lots of Nested Functions Splitting the Phases of Calculation and Formatting Status: Separated into Two Files (and Phases) Reorganizing the Calculations by Type Status: Creating the Data with the Polymorphic Calculator Final Thoughts Chapter 2: Principles in Refactoring Defining Refactoring The Two Hats Why Should We Refactor? When Should We Refactor? Problems with Refactoring Refactoring, Architecture, and Yagni Refactoring and the Wider Software Development Process Refactoring and Performance Where Did Refactoring Come From? Automated Refactorings Going Further Chapter 3: Bad Smells in Code Mysterious Name Duplicated Code Long Function Long Parameter List Global Data Mutable Data Divergent Change Shotgun Surgery Feature Envy Data Clumps Primitive Obsession Repeated Switches Loops Lazy Element Speculative Generality Temporary Field Message Chains Middle Man Insider Trading Large Class Alternative Classes with Different Interfaces Data Class Refused Bequest Comments Chapter 4: Building Tests The Value of Self-Testing Code Sample Code to Test A First Test Add Another Test Modifying the Fixture Probing the Boundaries Much More Than This Chapter 5: Introducing the Catalog Format of the Refactorings The Choice of Refactorings Chapter 6: A First Set of Refactorings Extract Function Inline Function Extract Variable Inline Variable Change Function Declaration Encapsulate Variable Rename Variable Introduce Parameter Object Combine Functions into Class Combine Functions into Transform Split Phase Chapter 7: Encapsulation Encapsulate Record Encapsulate Collection Replace Primitive with Object Replace Temp with Query Extract Class Inline Class Hide Delegate Remove Middle Man Substitute Algorithm Chapter 8: Moving Features Move Function Move Field Move Statements into Function Move Statements to Callers Replace Inline Code with Function Call Slide Statements Split Loop Replace Loop with Pipeline Remove Dead Code Chapter 9: Organizing Data Split Variable Rename Field Replace Derived Variable with Query Change Reference to Value Change Value to Reference Chapter 10: Simplifying Conditional Logic Decompose Conditional Consolidate Conditional Expression Replace Nested Conditional with Guard Clauses Replace Conditional with Polymorphism Introduce Special Case Introduce Assertion Chapter 11: Refactoring APIs Separate Query from Modifier Parameterize Function Remove Flag Argument Preserve Whole Object Replace Parameter with Query Replace Query with Parameter Remove Setting Method Replace Constructor with Factory Function Replace Function with Command Replace Command with Function Chapter 12: Dealing with Inheritance Pull Up Method Pull Up Field Pull Up Constructor Body Push Down Method Push Down Field Replace Type Code with Subclasses Remove Subclass Extract Superclass Collapse Hierarchy Replace Subclass with Delegate Replace Superclass with Delegate Bibliography Index A B C D E F G H I J K L M N O P Q R S T U V W X Y