ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Working Effectively with Legacy Code

دانلود کتاب کار موثر با کد میراث

Working Effectively with Legacy Code

مشخصات کتاب

Working Effectively with Legacy Code

دسته بندی: برنامه نويسي
ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 0131177052, 9780131177055 
ناشر: Prentice Hall 
سال نشر: 2004 
تعداد صفحات: 458 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 3 مگابایت 

قیمت کتاب (تومان) : 28,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 16


در صورت تبدیل فایل کتاب Working Effectively with Legacy Code به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب کار موثر با کد میراث نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب کار موثر با کد میراث

در این کتاب، Michael Feathers استراتژی‌های شروع تا پایان را برای کار مؤثرتر با پایه‌های کد قدیمی بزرگ و آزمایش‌نشده ارائه می‌کند. این کتاب از موادی است که مایکل برای سمینارهای معروف خود در زمینه Object Mentor ایجاد کرده است: تکنیک‌هایی که مایکل در راهنمایی برای کمک به صدها توسعه‌دهنده، مدیر فنی و آزمایش‌کننده استفاده کرده است تا سیستم‌های قدیمی خود را تحت کنترل درآورند. این کتاب همچنین شامل فهرستی از بیست و چهار تکنیک شکستن وابستگی است که به شما کمک می کند با عناصر برنامه به صورت مجزا کار کنید و تغییرات ایمن تری ایجاد کنید.


توضیحاتی درمورد کتاب به خارجی

In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his own renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.



فهرست مطالب

Cover......Page 1
Contents......Page 8
Foreword......Page 14
Preface......Page 16
Introduction......Page 22
PART I: The Mechanics of Change......Page 24
Four Reasons to Change Software......Page 26
Risky Change......Page 30
Chapter 2: Working with Feedback......Page 32
What Is Unit Testing?......Page 35
Test Coverings......Page 37
The Legacy Code Change Algorithm......Page 41
Chapter 3: Sensing and Separation......Page 44
Faking Collaborators......Page 46
A Huge Sheet of Text......Page 52
Seams......Page 53
Seam Types......Page 56
Automated Refactoring Tools......Page 68
Mock Objects......Page 70
Unit-Testing Harnesses......Page 71
General Test Harnesses......Page 76
PART II: Changing Software......Page 78
Chapter 6: I Don’t Have Much Time and I Have to Change It.......Page 80
Sprout Method......Page 82
Sprout Class......Page 86
Wrap Method......Page 90
Wrap Class......Page 94
Summary......Page 99
Understanding......Page 100
Lag Time......Page 101
Breaking Dependencies......Page 102
Summary......Page 108
Chapter 8: How Do I Add a Feature?......Page 110
Test-Driven Development (TDD)......Page 111
Programming by Difference......Page 117
Summary......Page 127
Chapter 9: I Can’t Get This Class into a Test Harness......Page 128
The Case of the Irritating Parameter......Page 129
The Case of the Hidden Dependency......Page 136
The Case of the Construction Blob......Page 139
The Case of the Irritating Global Dependency......Page 141
The Case of the Horrible Include Dependencies......Page 150
The Case of the Onion Parameter......Page 153
The Case of the Aliased Parameter......Page 156
Chapter 10: I Can’t Run This Method in a Test Harness......Page 160
The Case of the Hidden Method......Page 161
The Case of the “Helpful” Language Feature......Page 164
The Case of the Undetectable Side Effect......Page 167
Reasoning About Effects......Page 174
Reasoning Forward......Page 180
Effect Propagation......Page 186
Tools for Effect Reasoning......Page 188
Learning from Effect Analysis......Page 190
Simplifying Effect Sketches......Page 191
Chapter 12: I Need to Make Many Changes in One Area......Page 196
Interception Points......Page 197
Judging Design with Pinch Points......Page 205
Pinch Point Traps......Page 207
Chapter 13: I Need to Make a Change, but I Don’t Know What Tests to Write......Page 208
Characterization Tests......Page 209
Characterizing Classes......Page 212
Targeted Testing......Page 213
A Heuristic for Writing Characterization Tests......Page 218
Chapter 14: Dependencies on Libraries Are Killing Me......Page 220
Chapter 15: My Application Is All API Calls......Page 222
Chapter 16: I Don’t Understand the Code Well Enough to Change It......Page 232
Notes/Sketching......Page 233
Listing Markup......Page 234
Scratch Refactoring......Page 235
Delete Unused Code......Page 236
Chapter 17: My Application Has No Structure......Page 238
Telling the Story of the System......Page 239
Naked CRC......Page 243
Conversation Scrutiny......Page 247
Class Naming Conventions......Page 250
Test Location......Page 251
Chapter 19: My Project Is Not Object Oriented. How Do I Make Safe Changes?......Page 254
A Hard Case......Page 255
Adding New Behavior......Page 259
Taking Advantage of Object Orientation......Page 262
It’s All Object Oriented......Page 265
Chapter 20: This Class Is Too Big and I Don’t Want It to Get Any Bigger......Page 268
Seeing Responsibilities......Page 272
Moving Forward......Page 288
After Extract Class......Page 291
Chapter 21: I’m Changing the Same Code All Over the Place......Page 292
First Steps......Page 295
Chapter 22: I Need to Change a Monster Method and I Can’t Write Tests for It......Page 312
Varieties of Monsters......Page 313
Tackling Monsters with Automated Refactoring Support......Page 317
The Manual Refactoring Challenge......Page 320
Strategy......Page 327
Chapter 23: How Do I Know That I’m Not Breaking Anything?......Page 332
Hyperaware Editing......Page 333
Single-Goal Editing......Page 334
Preserve Signatures......Page 335
Lean on the Compiler......Page 338
Chapter 24: We Feel Overwhelmed. It Isn’t Going to Get Any Better......Page 342
PART III: Dependency-Breaking Techniques......Page 346
Chapter 25: Dependency-Breaking Techniques......Page 348
Adapt Parameter......Page 349
Break Out Method Object......Page 353
Definition Completion......Page 360
Encapsulate Global References......Page 362
Expose Static Method......Page 368
Extract and Override Call......Page 371
Extract and Override Factory Method......Page 373
Extract and Override Getter......Page 375
Extract Implementer......Page 379
Extract Interface......Page 385
Introduce Instance Delegator......Page 392
Introduce Static Setter......Page 395
Link Substitution......Page 400
Parameterize Constructor......Page 402
Parameterize Method......Page 406
Primitivize Parameter......Page 408
Pull Up Feature......Page 411
Push Down Dependency......Page 415
Replace Function with Function Pointer......Page 419
Replace Global Reference with Getter......Page 422
Subclass and Override Method......Page 424
Supersede Instance Variable......Page 427
Template Redefinition......Page 431
Text Redefinition......Page 435
Extract Method......Page 438
Glossary......Page 444
B......Page 446
C......Page 447
D......Page 448
F......Page 449
I......Page 450
M......Page 451
P......Page 453
R......Page 454
S......Page 455
T......Page 456
X......Page 457




نظرات کاربران