Working Effectively with Legacy Code

Working Effectively with Legacy Code
Author :
Publisher : Prentice Hall Professional
Total Pages : 457
Release :
ISBN-10 : 9780132931755
ISBN-13 : 0132931753
Rating : 4/5 (55 Downloads)

Synopsis Working Effectively with Legacy Code by : Michael Feathers

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
Author :
Publisher : Prentice Hall
Total Pages : 457
Release :
ISBN-10 : 9780131177055
ISBN-13 : 0131177052
Rating : 4/5 (55 Downloads)

Synopsis Working Effectively with Legacy Code by : Michael C. Feathers

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.

Working Effectively With Legacy Code

Working Effectively With Legacy Code
Author :
Publisher : Pearson Education India
Total Pages : 460
Release :
ISBN-10 : 8131715078
ISBN-13 : 9788131715079
Rating : 4/5 (78 Downloads)

Synopsis Working Effectively With Legacy Code by : Feathers

The Legacy Code Programmer's Toolbox

The Legacy Code Programmer's Toolbox
Author :
Publisher :
Total Pages : 277
Release :
ISBN-10 : 1691064130
ISBN-13 : 9781691064137
Rating : 4/5 (30 Downloads)

Synopsis The Legacy Code Programmer's Toolbox by : Jonathan Boccara

"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
Author :
Publisher : Springer Science & Business Media
Total Pages : 246
Release :
ISBN-10 : 9783540228394
ISBN-13 : 354022839X
Rating : 4/5 (94 Downloads)

Synopsis Extreme Programming and Agile Methods - XP/Agile Universe 2004 by : Carmen Zannier

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
Author :
Publisher : Addison-Wesley
Total Pages : 416
Release :
ISBN-10 : 032179320X
ISBN-13 : 9780321793201
Rating : 4/5 (0X Downloads)

Synopsis Brutal Refactoring by : Michael Feathers

The Software Craftsman

The Software Craftsman
Author :
Publisher : Pearson Education
Total Pages : 285
Release :
ISBN-10 : 9780134052502
ISBN-13 : 0134052501
Rating : 4/5 (02 Downloads)

Synopsis The Software Craftsman by : Sandro Mancuso

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.

Re-Engineering Legacy Software

Re-Engineering Legacy Software
Author :
Publisher : Simon and Schuster
Total Pages : 331
Release :
ISBN-10 : 9781638353324
ISBN-13 : 1638353328
Rating : 4/5 (24 Downloads)

Synopsis Re-Engineering Legacy Software by : Chris Birchall

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!

Code That Fits in Your Head

Code That Fits in Your Head
Author :
Publisher : Addison-Wesley Professional
Total Pages : 628
Release :
ISBN-10 : 9780137464357
ISBN-13 : 0137464355
Rating : 4/5 (57 Downloads)

Synopsis Code That Fits in Your Head by : Mark Seemann

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.

Your Code as a Crime Scene

Your Code as a Crime Scene
Author :
Publisher : Pragmatic Bookshelf
Total Pages : 289
Release :
ISBN-10 : 9781680505207
ISBN-13 : 1680505203
Rating : 4/5 (07 Downloads)

Synopsis Your Code as a Crime Scene by : Adam Tornhill

Jack the Ripper and legacy codebases have more in common than you'd think. Inspired by forensic psychology methods, you'll learn strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use. Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small. For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts. Large-scale development is also a social activity, and the team's dynamics influence code quality. That's why this book shows you how to uncover social biases when analyzing the evolution of your system. You'll use commit messages as eyewitness accounts to what is really happening in your code. Finally, you'll put it all together by tracking organizational problems in the code and finding out how to fix them. Come join the hunt for better code! What You Need: You need Java 6 and Python 2.7 to run the accompanying analysis tools. You also need Git to follow along with the examples.