Your Code as a Crime Scene

Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs

Nonfiction, Computers, Programming, Software Development
Cover of the book Your Code as a Crime Scene by Adam Tornhill, Pragmatic Bookshelf
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Adam Tornhill ISBN: 9781680505207
Publisher: Pragmatic Bookshelf Publication: March 30, 2015
Imprint: Pragmatic Bookshelf Language: English
Author: Adam Tornhill
ISBN: 9781680505207
Publisher: Pragmatic Bookshelf
Publication: March 30, 2015
Imprint: Pragmatic Bookshelf
Language: English

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.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

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.

More books from Pragmatic Bookshelf

Cover of the book Core Data in Swift by Adam Tornhill
Cover of the book Beyond Legacy Code by Adam Tornhill
Cover of the book Pragmatic Thinking and Learning by Adam Tornhill
Cover of the book Rails, Angular, Postgres, and Bootstrap by Adam Tornhill
Cover of the book Metaprogramming Elixir by Adam Tornhill
Cover of the book Take My Money by Adam Tornhill
Cover of the book Pragmatic Unit Testing in Java 8 with JUnit by Adam Tornhill
Cover of the book Adopting Elixir by Adam Tornhill
Cover of the book Pragmatic Scala by Adam Tornhill
Cover of the book Modern Vim by Adam Tornhill
Cover of the book Fire in the Valley by Adam Tornhill
Cover of the book Reactive Programming with RxJS 5 by Adam Tornhill
Cover of the book Explore It! by Adam Tornhill
Cover of the book The Nature of Software Development by Adam Tornhill
Cover of the book Functional Web Development with Elixir, OTP, and Phoenix by Adam Tornhill
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy