Your Code as a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs (Paperback)

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.

商品描述(中文翻譯)

傑克·雷普爾(Jack the Ripper)和遺留程式碼庫有更多共同之處,這一點可能超乎你的想像。受法醫心理學方法的啟發,你將學習預測程式碼庫未來、評估重構方向以及了解團隊如何影響設計的策略。這本書結合了法醫心理學和程式碼分析的獨特方法,為你提供了無論你使用哪種程式語言都需要的策略。

軟體是一個不斷變化的生命體。要理解軟體系統,我們需要知道它們的來源和演變過程。通過挖掘提交數據並分析程式碼的歷史,你可以提前修復破損的設計、維護問題和團隊生產力瓶頸。

在這本書中,你將學習法醫心理學技巧,成功維護你的軟體。你將從提交數據中創建地理概況,找到熱點,並應用時間耦合概念揭示程式碼中不相關區域之間的隱藏關係。你還將衡量你的程式碼改進效果。你將學習如何在大型和小型項目上應用這些技巧。對於小型項目,你將對設計和程式碼與你的想法的契合度獲得新的見解。對於大型項目,你將確定優秀部分和脆弱部分。

大規模開發也是一種社交活動,團隊的動態影響程式碼品質。這就是為什麼這本書向你展示如何在分析系統演變時揭示社會偏見。你將使用提交訊息作為目擊證據,了解程式碼中真正發生的事情。最後,你將通過追蹤程式碼中的組織問題並找出如何修復它們來將所有內容整合在一起。加入尋找更好程式碼的行列吧!

所需工具:
你需要Java 6和Python 2.7來運行附帶的分析工具。你還需要Git來跟隨示例。