Working Effectively with Legacy Code

Working Effectively with Legacy Code PDF Author: Michael Feathers
Publisher: Prentice Hall Professional
ISBN: 0132931753
Category : Computers
Languages : en
Pages : 457

Book Description
Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. 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 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. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure 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.

Working Effectively with Legacy Code

Working Effectively with Legacy Code PDF Author: Michael C. Feathers
Publisher: Prentice Hall
ISBN: 0131177052
Category : Computers
Languages : en
Pages : 457

Book Description
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.

The Legacy Code Programmer's Toolbox

The Legacy Code Programmer's Toolbox PDF Author: Jonathan Boccara
Publisher:
ISBN: 9781691064137
Category :
Languages : en
Pages : 277

Book Description
"This is a warm and reassuring book that will equip you to read, understand, and update legacy code in any language." --Kate Gregory "It is easy to forget that outside the world of software development, the word legacy has another meaning. A positive meaning, a gift of wealth from the past to the present for the future. This book will help you reclaim the word." --Kevlin Henney If you're like most software developers, you have to deal with legacy code. But working with legacy code is challenging! This book will teach you how to be happy, efficient and successful when working with legacy code. Here are the skills that The Legacy Code Programmer's Toolbox will teach you: - how to deal with legacy code efficiently and with a positive approach, - 10 techniques how to understand legacy code, - 5 ways to reduce the size of long functions, - a technique to turn legacy code to your advantage to improve your programming skills, - how to be in a motivated mindset, - the power of knowledge of your codebase, how to acquire it and make every person in your team acquire it too, - how to find the source of a bug quickly in a large and unfamiliar codebase, - where to focus your refactoring efforts so that they make your life easier, - and many more things to be efficient and happy when working with legacy code!

Extreme Programming and Agile Methods - XP/Agile Universe 2004

Extreme Programming and Agile Methods - XP/Agile Universe 2004 PDF Author: Carmen Zannier
Publisher: Springer Science & Business Media
ISBN: 354022839X
Category : Computers
Languages : en
Pages : 246

Book Description
This book constitutes the refereed proceedings of the 4th Conference on Extreme Programming and Agile Methods, XP/Agile Universe 2004, held in Calgary, Canada in August 2004. The 18 revised full papers presented together with summaries of workshops, panels, and tutorials were carefully reviewed and selected from 45 submissions. The papers are organized in topical sections on testing and integration, managing requirements and usability, pair programming, foundations of agility, process adaptation, and educational issues.

Brutal Refactoring

Brutal Refactoring PDF Author: Michael Feathers
Publisher: Addison-Wesley
ISBN: 9780321793201
Category :
Languages : en
Pages : 416

Book Description

The Software Craftsman

The Software Craftsman PDF Author: Sandro Mancuso
Publisher: Pearson Education
ISBN: 0134052501
Category : Computers
Languages : en
Pages : 285

Book Description
In The Software Craftsman, Sandro Mancuso explains what craftsmanship means to the developer and his or her organization, and shows how to live it every day in your real-world development environment. Mancuso shows how software craftsmanship fits with and helps students improve upon best-practice technical disciplines such as agile and lean, taking all development projects to the next level. Readers will learn how to change the disastrous perception that software developers are the same as factory workers, and that software projects can be run like factories.

Code That Fits in Your Head

Code That Fits in Your Head PDF Author: Mark Seemann
Publisher: Addison-Wesley Professional
ISBN: 0137464355
Category : Computers
Languages : en
Pages : 628

Book Description
How to Reduce Code Complexity and Develop Software More Sustainably "Mark Seemann is well known for explaining complex concepts clearly and thoroughly. In this book he condenses his wide-ranging software development experience into a set of practical, pragmatic techniques for writing sustainable and human-friendly code. This book will be a must-read for every programmer." -- Scott Wlaschin, author of Domain Modeling Made Functional Code That Fits in Your Head offers indispensable, practical advice for writing code at a sustainable pace and controlling the complexity that causes projects to spin out of control. Reflecting decades of experience helping software teams succeed, Mark Seemann guides you from zero (no code) to deployed features and shows how to maintain a good cruising speed as you add functionality, address cross-cutting concerns, troubleshoot, and optimize. You'll find valuable ideas, practices, and processes for key issues ranging from checklists to teamwork, encapsulation to decomposition, API design to unit testing. Seemann illuminates his insights with code examples drawn from a complete sample project. Written in C#, they're designed to be clear and useful to anyone who uses any object-oriented language including Java , C++, and Python. To facilitate deeper exploration, all code and extensive commit messages are available for download. Choose mindsets and processes that work, and escape bad metaphors that don't Use checklists to liberate yourself, improving outcomes with the skills you already have Get past “analysis paralysis” by creating and deploying a vertical slice of your application Counteract forces that lead to code rot and unnecessary complexity Master better techniques for changing code behavior Discover ways to solve code problems more quickly and effectively Think more productively about performance and security If you've ever suffered through bad projects or had to cope with unmaintainable legacy code, this guide will help you make things better next time and every time. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Re-Engineering Legacy Software

Re-Engineering Legacy Software PDF Author: Chris Birchall
Publisher: Simon and Schuster
ISBN: 1638353328
Category : Computers
Languages : en
Pages : 331

Book Description
Summary As a developer, you may inherit projects built on existing codebases with design patterns, usage assumptions, infrastructure, and tooling from another time and another team. Fortunately, there are ways to breathe new life into legacy projects so you can maintain, improve, and scale them without fighting their limitations. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Re-Engineering Legacy Software is an experience-driven guide to revitalizing inherited projects. It covers refactoring, quality metrics, toolchain and workflow, continuous integration, infrastructure automation, and organizational culture. You'll learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. You'll also develop practical processes for deciding whether to rewrite or refactor, organizing teams, and convincing management that quality matters. Core topics include deciphering and modularizing awkward code structures, integrating and automating tests, replacing outdated build systems, and using tools like Vagrant and Ansible for infrastructure automation. What's Inside Refactoring legacy codebases Continuous inspection and integration Automating legacy infrastructure New tests for old code Modularizing monolithic projects About the Reader This book is written for developers and team leads comfortable with an OO language like Java or C#. About the Author Chris Birchall is a senior developer at the Guardian in London, working on the back-end services that power the website. Table of Contents PART 1 GETTING STARTED Understanding the challenges of legacy projects Finding your starting point PART 2 REFACTORING TO IMPROVE THE CODEBASE Preparing to refactor Refactoring Re-architecting The Big Rewrite PART 3 BEYOND REFACTORING—IMPROVING PROJECT WORKFLOWAND INFRASTRUCTURE Automating the development environment Extending automation to test, staging, and production environments Modernizing the development, building, and deployment of legacy software Stop writing legacy code!

Growing Object-Oriented Software, Guided by Tests

Growing Object-Oriented Software, Guided by Tests PDF Author: Steve Freeman
Publisher: Pearson Education
ISBN: 0321699769
Category : Computers
Languages : en
Pages : 762

Book Description
Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this "simple" idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and “grow” software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you’ll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD—from integrating TDD into your processes to testing your most difficult features. Coverage includes Implementing TDD effectively: getting started, and maintaining your momentum throughout the project Creating cleaner, more expressive, more sustainable code Using tests to stay relentlessly focused on sustaining quality Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project Using Mock Objects to guide object-oriented designs Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency
Proudly powered by WordPress | Theme: Rits Blog by Crimson Themes.