My Account Log in

1 option

Your code as a crime scene : use forensic techniques to arrest defects, bottlenecks, and bad design in your programs / Adam Tornhill.

Ebook Central Academic Complete Available online

View online
Format:
Book
Author/Creator:
Tornhill, Adam, author.
Language:
English
Subjects (All):
Computer architecture.
Computer programming--Management.
Computer programming.
Physical Description:
1 online resource (319 pages)
Edition:
Second edition.
Place of Publication:
[Place of publication unknown] : The Pragmatic Programmers, LLC, [2024]
Summary:
Your Code as a Crime Scene, Second Edition by Adam Tornhill provides software developers with forensic techniques to analyze and improve codebases. The book emphasizes understanding the technical and social aspects of software systems, demonstrating how to identify and address complex code structures and technical debt. It introduces methods for visualizing code complexity, refactoring, and aligning architectural designs with business goals. Intended for software architects, developers, and team leaders, it integrates insights from forensic psychology to enhance code comprehension and maintenance. The book combines practical tools with data-driven analysis to facilitate effective code management. Generated by AI.
Contents:
Cover
Table of Contents
Foreword
Acknowledgments
Welcome to the Crime Scene
Why You Should Read This Book
Who Should Read This Book?
Why Read This Book Now?
How to Read This Book
Toward a New Approach
Get Your Investigative Tools
Part I-Identify Code That's Hard to Understand
1. Optimize for Understanding
Understand That Typing Isn't the Bottleneck in Programming
Meet the Challenges of Scale
Beware the Lure of Complexity Metrics
2. Treat Your Code as a Crime Scene
Take a Crash Course in Offender Profiling
Apply Geographical Offender Profiling to Code
Limit the Search Area: Spatial Patterns in Code
Be Aware That Hotspots Reflect Probabilities
3. Discover Hotspots: Create an Offender Profile of Code
Mine the Evolution of Code
Explore the Complexity Dimension
Intersect Complexity and Effort
Drive Refactoring via a Probability Surface
Exercises
4. Hotspots Applied: Visualize Code from the People Side
Visualize Source Code
Break Barriers via Language Agnostic Analyses
Determine How Hot a Hotspot Is
Understand That Bugs Breed Bugs
Know That Information Is Only Good When Acted Upon
5. Detect Deteriorating Structures
Calculate Complexity Trends from Your Code's Shape
Inspect Negative Space in Code
Prefer Trends over Absolute Values
Evaluate the Growth Patterns
6. Remediate Complicated Code
Meet Your Brain on Code
Spot Nested Logic That Taxes Working Memory
Refactor Complex Code via Simple Steps
Evade Object Disorientation
Use Abstraction as a Tool for Thinking
7. Communicate the Business Impact of Technical Debt
Know the Costs and Consequences of Technical Debt
Know Why Half the Work Gets Done in Twice the Time
Make the Business Case for Refactoring.
Fight Unplanned Work, the Silent Killer of Projects
Differentiate Remediation Time from Interest Payments
Part II-Build Supportive Software Architectures
8. Use Code as a Cooperative Witness
Recognize the Paradox of False Memories
Reveal the Dynamics of Change
Inspect the Modus Operandi of a Code Change
Understand the Reasons Behind Temporal Dependencies
9. Architectural Reviews: Support Redesigns with Data
Don't Shoot the Messenger
Use Sum of Coupling to Determine Architectural Significance
Understand Change Coupling Algorithms
Catch Architectural Decay
Modularize Monoliths
10. Use Beauty as a Guiding Principle
Learn Why Attractiveness Matters
Use Beauty in Code
Analyze Pipes and Filters Architectures
Analyze Layered Architectures
Analyze Microservice Systems
Reverse-Engineer Your Principles from Code
11. Expose Hidden Bottlenecks: Delivery and Automation
Understand What's in an Architecture
Profile Targets in Test Code
Create a Safety Net for Your Automated Tests
Avoid the Automated-Test Death March
Design for Human Problem-Solving
Part III-Meet the Social Side of Your Code
12. Meet Norms, Groups, and False Serial Killers
Learn Why the Right People Don't Speak Up
Understand Pluralistic Ignorance
Witness Groupthink in Action
Discover Your Team's Modus Operandi
Mine Organizational Metrics from Code
13. Discover Organizational Metrics in Your Codebase
Kill a Project: A How-to Guide
Analyze Hotspots for Coordination Issues
Spot Conway's Law in Your Code
Act on Inter-Team Dependencies
14. See How Technical Problems Cause Organizational Issues
Have Your Code Motivate Retention
Discover How Code Smells Lead to Coordination Problems.
Visualize Organizational Friction
Measure the Truck Factor in Unhealthy Code
Uncover the People Side of Code
15. Build a Knowledge Map of Your System
Know Your Knowledge Distribution
Expand Your Mental Maps with Social Data
Dig Below the Surface with Developer Patterns
Use Fractal Figures to Mitigate Offboarding Risks
Distinguish Use from Misuse
16. Move Toward the Future
Deepen Your Investigation
Watch the Next Steps
Stay Relevant: Programming in an AI World
Watch Evolution in Reverse: Working with Low Code
Write Evolvable Code
A1. Solutions to the Exercises
Part I: Identify Code That's Hard to Understand
Part II: Build Supportive Software Architectures
Part III: Meet the Social Side of Your Code
A2. Get Started with Enclosure Visualizations
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 -
- Y -
- Z -.
Notes:
Description based on publisher supplied metadata and other sources.
Part of the metadata in this record was created by AI, based on the text of the resource.
Description based on print version record.
Includes bibliographical references.
Other Format:
Print version: Tornhill, Adam Your Code As a Crime Scene, Second Edition
ISBN:
9798888650844
OCLC:
1439603729

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account