1 Code Quality in an Agile World Traditional Methods of Software Development Agile Methods of Software Development Scrum extreme Programming Test-Driven Development Moving Quality Upstream Inside Microsoft: Windows Live Hotmail Engineering Engineering Principles Key Success Factors Tactics for Writing Solid Code Focus on Design Defend and Debug Analyze and Test Improve Processes and Attitudes Summary Key Points2 Class Design and Prototyping Collaboration in Visual Studio Think First, Code Later Software Modeling Unified Modeling Language Prototyping Summary Key Points3 Metaprograrnrning What Is Metadata Metadata in Managed Applications Application Configuration Files Metadata in Your Applications Inside Microsoft: Configuration Management in Windows Live Spaces. Summary Key Points4 Performance Is a Feature Common Performance Challenges Network Latency Payload Size and Network Round Trips Limited TCP Connections Poorly Optimized Code Analyzing Application Performance Analyzing the Performance of Live Search Tactics for Improving Web Application Performance Reduce Payload Size Cache Effectively Optimize Network Traffic Organize and Write Code for Better Performance Incorporating Performance Best Practices Establish a Performance Excellence Program Inside Microsoft: Tackling Live Search Performance Web Performance Principles Key Success Factors Summary Key Points5 Designing for Scale Understanding Application Scalability Approaches to Scalability Database Scalability Tactics for Scaling Web Applications Inside Microsoft: Managing the Windows Live Messenger Service Infrastructure Engineering Principles Summary Key Points6 Security Design and Implementation Common Application Security Threats Principles for Designing Secure Applications Security Design Principles SD3+C Strategy and Practices for Secure Applications Secure by Design Secure by Default Secure in Deployment and Communication Understanding .NET Framework Security Principles Additional Security Best Practices Summary Key Points7 Managed Memory Model Managed Heap Garbage Collection Managed Wrappers for Native Objects GC Class Large Object Heap Finalization Non-Deterministic Garbage Collection Disposable Objects Dispose Pattern Weak References Pinning Tips for the Managed Heap CLR Profiler CLR Profiler Walkthrough Summary Key Points8 Defensive Programming Defensive Programming and C# Warnings Code Review Software Testing Test-Driven Development Code Coverage Self-Documenting Code Naming Conventions Pseudo Code Comments Defensive Programming with Classes Modifiers Interfaces Defensive Programming Without Examples Defensive Programming with Examples Design Patterns Summary Key Points9 Debugging Overflow Bug Pentium FDIV Bug Symbols Symbol Server Source Servers Preemptive Debugging Proactive Debugging Managed Debugging Assistants MDA Example Code Analysis Performance Monitoring Debugging Debugging Tools Visual Studio .NET Framework Tools Debugging Tools for Windows CLR Profiler Sysinternals Tracing Web Application Tracing Exception Handling Production Debugging ADPlus Summary Key Points10 Code Analysis Invest in the Test Process Define a Test Rhythm Establish Test Work Item Tracking Incorporate Automated Code Analysis Use Static Code Analysis Tools Write Application Test Code Testing with Visual Studio Use Metrics to Understand Quality Measuring Complexity and Maintainability of Code Using Perspectives to Understand Quality Inside Microsoft: Managing Quality for the Microsoft.com Web Analytics Platform The Importance of Code Quality The Test Investment Managing Quality Summary Key Points11 Improving Engineering Processes Tactics for Engineering Process Improvement Establish a Quality-Focused Project Rhythm Implement Source Control and Check-in Processes Release and Test Code Daily Automate Daily Builds Using MSBuild Create and Enforce Quality Criteria Summary Key Points12 Attitude Is Everything Passion Linear versus Iterative Sales Are Good Features Flexibility Solve Real Problems You Are Responsible Port Code as New Code Refactoring Priorities Be Realistic Paradigm Shift Expand Your PerspectiveA Agile Development ResourcesB Web Performance ResourcesIndex
以下为对购买帮助不大的评价