Book description
Get best-in-class engineering practices to help you write more-robust, bug-free code. Two Microsoft .NET development experts share real-world examples and proven methods for optimizing the software development life cycle—from avoiding costly programming pitfalls to making your development team more efficient. Managed code developers at all levels will find design, prototyping, implementation, debugging, and testing tips to boost the quality of their code—today.
Optimize each stage of the development process—from design to testing—and produce higher-quality applications.
Use metaprogramming to reduce code complexity, while increasing flexibility and maintainability
Treat performance as a feature—and manage it throughout the development life cycle
Apply best practices for application scalability
Employ preventative security measures to ward off malicious attacks
Practice defensive programming to catch bugs before run time
Incorporate automated builds, code analysis, and testing into the daily engineering process
Implement better source-control management and check-in procedures
Establish a quality-driven, milestone-based project rhythm—and improve your results!
Table of contents
- Recommendations for Solid Code
- Foreword
- Acknowledgements
- Introduction
-
1. Code Quality in an Agile World
- Traditional Methods of Software Development
- Agile Methods of Software Development
- Moving Quality Upstream
- Inside Microsoft: Windows Live Hotmail Engineering
- Tactics for Writing Solid Code
- Summary
- Key Points
- 2. Class Design and Prototyping
- 3. Metaprogramming
-
4. Performance Is a Feature
- Common Performance Challenges
- Analyzing Application Performance
- Tactics for Improving Web Application Performance
- Incorporating Performance Best Practices
- Inside Microsoft: Tackling Live Search Performance
- Summary
- Key Points
-
5. Designing for Scale
- Understanding Application Scalability
- Tactics for Scaling Web Applications
- Inside Microsoft: Managing the Windows Live Messenger Service Infrastructure
- Summary
- Key Points
-
6. Security Design and Implementation
- Common Application Security Threats
- Principles for Designing Secure Applications
-
SD3+C Strategy and Practices for Secure Applications
-
Secure by Design
- Implement Threat Modeling and Risk Mitigation Tactics
-
Apply Best Practices to Application Design
- Apply .NET authentication and authorization mechanisms
- Encrypt sensitive data
- Assume external applications and code is insecure
- Design to fail, and fail securely
- Handle errors and exceptions securely
- Implement least privilege
- Implement privilege separation
- Sanitize input
- Validate security coding best practices with FxCop
- Incorporate security-focused code reviews
- Secure by Default
- Secure in Deployment and Communication
-
Secure by Design
- Understanding .NET Framework Security Principles
- Additional Security Best Practices
- Summary
- Key Points
- 7. Managed Memory Model
- 8. Defensive Programming
- 9. Debugging
- 10. Code Analysis
- 11. Improving Engineering Processes
- 12. Attitude Is Everything
- A. Agile Development Resources
- B. Web Performance Resources
- About the Authors
- Index
- About the Authors
- Copyright
Product information
- Title: Solid Code: Optimizing the Software Development Life Cycle
- Author(s):
- Release date: February 2009
- Publisher(s): Microsoft Press
- ISBN: 9780735625921
You might also like
book
Software Life Cycle Management Standards
Software Life Cycle Management Standards - Real-world scenarios and solutions for savings Follow the ISO/IEC 19770 …
video
Voices That Matter: iOS Developers Conference: Fall 2011
The Voices That Matter: iOS Developer Conference took place in Boston in November 2011. It was …
book
Mobile Design and Development
Mobile devices outnumber desktop and laptop computers three to one worldwide, yet little information is available …
book
Recipes for Continuous Database Integration: Evolutionary Database Development
The past few years have seen the rise of agile or evolutionary methods in software development. …