
Visual Studio 2010 Best Practices.
Title:
Visual Studio 2010 Best Practices.
Author:
Ritchie, Peter.
ISBN:
9781849687171
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (303 pages)
Contents:
Visual Studio 2010 Best Practices -- Table of Contents -- Visual Studio 2010 Best Practices -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Instant Updates on New Packt Books -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 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 -- Creational -- Structural -- Behavioral -- Integration -- Procedural -- Anti-patterns -- 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 -- 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 -- 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 -- 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 -- 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 -- 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 -- 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 -- Searchable add references dialog -- Quick Find -- Solution Navigator -- 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 -- Change build action -- Solution items -- Continuous integration -- Tests -- Build -- Summary -- 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 -- Volatile -- Interlocked -- Advanced synchronization -- Mutex -- Semaphore -- WaitHandle -- Reset events.
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 -- 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 -- 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 -- Index.
Abstract:
Learn and implement recommended practices for the complete software development lifecycle with Visual Studio 2010.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Genre:
Electronic Access:
Click to View