Visual Studio 2010 Best Practices
Formats:
save 15%!
save 37%!
Free Shipping!
| Also available on: |
|
- This book and e-book detail a large breadth of recommended practices in Visual Studio
- Consolidated reference of varied practices including background and detailed implementations, great for inexperienced and experience developers alike.
- A guidelines-based set of practices for all aspects of software development from architecture to specific technologies to deployment.
Book Details
Language : EnglishPaperback : 280 pages [ 235mm x 191mm ]
Release Date : August 2012
ISBN : 1849687161
ISBN 13 : 9781849687164
Author(s) : Peter Ritchie
Topics and Technologies : All Books, Enterprise, Microsoft
Table of Contents
PrefaceChapter 1: Working with Best Practices
Chapter 2: Source Code Control Practices
Chapter 3: Low-level C# Practices
Chapter 4: Architectural Practices
Chapter 5: Recommended Practices for Deployment
Chapter 6: Automated Testing Practices
Chapter 7: Optimizing Visual Studio
Chapter 8: Parallelization Practices
Chapter 9: Distributed Applications
Chapter 10: Web Service Recommended Practices
Index
- Chapter 1: Working with Best Practices
- Recommended practices
- Intransitive "best" practices
- Benefits of using practices
- Avoiding pragmatic re-use
- Reducing technical debt
- Not invented here syndrome
- Beyond practices
- Using katas
- Reaching kaizen
- Aspects of a practice
- Evaluating practices
- Documenting practices
- Geographic distribution
- Team size
- Regulatory compliance
- Domain complexity
- Organizational distribution
- Technical complexity
- Organizational complexity
- Enterprise discipline
- Life-cycle scope
- Paradigm
- Categorization
- In this book
- Evolving practices—a collaborative effort
- Axiomatic practices
- Patterns
- Why practices?
- An empirical and not a defined process
- Cross-cutting concerns
- Focus on the value
- The power of mantras
- Summary
- Chapter 2: Source Code Control Practices
- Terminology
- Repository
- SCC
- Edit/merge/commit
- Lock/edit/check-in
- Trunk
- Branch
- Fork
- Merge
- Check-out
- Check-in
- Changeset
- Lock
- Commit
- Push
- Pull
- Tag/label
- Shelving/shelvesets
- Principles
- Recommended SCC software evaluation criteria
- Workflow model
- Total cost of ownership
- Integration options
- Team dynamics and location
- Self or third-party hosting
- Authentication
- Organizing for source code control
- Organizing directory structures
- Solution structure
- Continuous integration
- Branching strategies
- Isolation
- Ad hoc isolation
- Testing isolation
- Release isolation
- Feature isolation
- Team isolation
- Commit (check-in) practices
- Merge remote changes before commit
- Commit frequently
- Atomic commits
- Occasionally connected source control
- Distributed source control
- Summary
- Chapter 3: Low-level C# Practices
- Working with generics
- Limits of generics
- Writing sequence and iterator members
- Working with lambdas
- Working with extension methods
- Exception handling
- Exceptions to the exception practices
- Summary
- Chapter 4: Architectural Practices
- Terms
- Decoupling
- Command Query Separation
- Data Transfer Objects (DTO)
- Single responsibility
- Layering
- Data-based applications
- Object Relational Mappers (ORMs)
- NoSQL
- Document databases
- Pulling it all together
- Distributed architecture
- Messaging
- Data synchronization and events
- DTOs Revisited
- Summary
- Chapter 5: Recommended Practices for Deployment
- Working with installers
- Working with Windows Installer
- Uninstalling
- Visual Studio Setup and Deployment projects
- Setup Wizard
- Setup Project
- Web Setup Project
- Merge Module Project
- CAB Project
- File System
- File types
- User interface
- Launch conditions
- Custom actions
- Drawbacks of Setup and Deployment Project
- ClickOnce
- Windows Installer XML (WiX)
- Include files
- Fragments
- Migrating from Setup and Deployment projects
- Integrating into Visual Studio
- Setup Project
- Merge Module Project
- Setup Library Project
- Bootstrapper Project
- C# Custom Action Project
- C++ Custom Action Project
- Continuous integration
- Silent installations
- Testing
- Summary
- Chapter 6: Automated Testing Practices
- First principles
- Related terms
- Test-driven development
- Red, Green, Refactor
- I'm not a tester
- Why automated?
- Benefits
- Continuous verification
- Documentation
- Caveats
- Aspects of good tests
- Repeatable
- Independent
- Verifies one thing
- Simple
- Readable
- Fast
- Reliable
- Informative
- Test naming
- Separate test projects or not?
- Test styles
- Arrange, Act, Assert
- Given, When, Then
- Test types
- State-based testing
- Interaction testing
- Object-orientation and tests
- Fluent interfaces revisited
- Mocking
- Isolation frameworks
- Methodologies
- TDD
- BDD
- Test coverage
- Continuous testing
- Round-tripping requirements and acceptance
- Summary
- Chapter 7: Optimizing Visual Studio
- Visual Studio efficiency through configuration
- Recommended computer specifications
- Multi-monitor
- Organizing projects
- Organizing windows
- Auto-hiding
- Toolbars
- Exceptional features
- Exporting/backing up your custom look and feel
- Add-ins and extensions
- Productivity Power Tools
- Resharper
- Visual Studio efficiency through usage
- Using the keyboard over the mouse
- Dividing up solutions
- Macros
- Advanced search/replace
- Playing nice with source code control
- Tracked file in project/solution
- Continuous integration
- Tests
- Build
- Summary
- Chapter 8: Parallelization Practices
- Principles
- Threading primitives
- Threading caveats
- Other terminologies
- Threads
- Thread synchronization
- Thread safety
- Minding your invariants
- Thread synchronization and locking
- Locking
- Lock-free synchronization
- Advanced synchronization
- Asynchronous operations
- Asynchronous Design Pattern
- Event-based Asynchronous Pattern
- Division of labor
- Task Parallel Library
- Tasks
- Execution
- Parallelization
- Working with Asynchronous Design Pattern
- Continuations
- Visual Studio 2012 asynchronous programming
- The Task-based Asynchronous Pattern
- Reactive Extensions
- Summary
- Chapter 9: Distributed Applications
- Seeking scalability
- Design options
- Communicating via a database
- Messaging pattern
- Message queues
- Command-query separation
- Message bus
- Service bus
- Cloud
- Infrastructure as a Service
- Platform as a Service
- Software as a Service
- TCP/UDP
- Debugging
- Logging
- What to log
- Health monitoring
- Proactive monitoring
- Summary
- Chapter 10: Web Service Recommended Practices
- Implementing WCF services
- Editing configuration
- Hosting
- Hosting WCF services in IIS
- Windows service WCF self-hosting
- WCF self-hosted
- Manual testing
- Authentication and authorization
- Different transport options
- ASP.NET Web Services
- Authentication and authorization
- Summary
Peter Ritchie
All in all a good read, nice tips and accepted practices. I like the conciseness of the subjects: Etienne Tremblay
I enjoyed reading Visual Studio 2010 Best Practices. I recommend reading it cover-to-cover and then keeping it on hand as a reference guide: Alvin Ashcraft
Code Downloads
Download the code and support files for this book.
Submit Errata
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Sample chapters
You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.
- Learning source code control
- Practices for advanced C# syntax
- Asynchronous programming in C#
- Learn tips for architecting decoupled systems
- Practices for designing multi-threaded and parallel systems
- Practices for designing distributed systems
- Learn better ways of developing web services with WCF
- Learn faster ways to design automated tests
- Tips and tricks to test complex systems
- Understanding proven ways of deploying software systems in Windows
When you are developing on the Microsoft platform, Visual Studio 2010 offers you a range of powerful tools and makes the whole process easier and faster. After learning it, if you are think that you can sit back and relax, you cannot be further away from truth. To beat the crowd, you need to be better than others, learn tips and tricks that other don’t know yet. This book is a compilation of the best practices of programming with Visual Studio.
Visual Studio 2010 best practices will take you through the practices that you need to master programming with .NET Framework. The book goes on to detail several practices involving many aspects of software development with Visual Studio. These practices include debugging and exception handling and design. It details building and maintaining a recommended practices library and the criteria by which to document recommended practices.
The book begins with practices on source code control (SCC). It includes different types of SCC and discusses how to choose them based on different scenarios. Advanced syntax in C# is then covered with practices covering generics, iterator methods, lambdas, and closures.
The next set of practices focus on deployment as well as creating MSI deployments with Windows Installer XML (WiX)—including Windows applications and services. The book then takes you through practices for developing with WCF and Web Service.
The software development lifecycle is completed with practices on testing like project structure, naming, and the different types of automated tests. Topics like test coverage, continuous testing and deployment, and mocking are included. Although this book uses Visual Studio as example, you can use these practices with any IDE.
It will be a step-by-step tutorial that will discuss best practices. The book is structured in such a way that it can be read both from start to end or can dipped into.
.Net developers using Visual Studio for programming will find this book useful. If you are developing your application with C#, you will find better ways to do things with Visual Studio.
You should know basics of development with .Net Framework and need working knowledge on VIsual Studio

