Book Image

Visual Studio 2010 Best Practices

By : Peter Ritchie
Book Image

Visual Studio 2010 Best Practices

By: Peter Ritchie

Overview of this book

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.
Table of Contents (16 chapters)
Visual Studio 2010 Best Practices
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Test naming


The actual test is important, but if a test fails and it's hard to figure out what to do to fix the code to pass the test or where the problem is, developers can waste precious time tracking down where the roots of failures are. The name of a test, its parent class, and (to a certain extent) the namespace and project name can go a long way to providing useful context in failure messages or automated testing reports. Let's take the following class, for example:

namespace UnitTests
{
[TestClass]
public class Class1Tests
{
[TestMethod]
public void TestMethod1()
{
var o = new Class1();
var actual = o.Method1();
Assert.AreEqual(42, actual);
}
}
}

If the TestMethod1 test failed in its assertion, we would see the following screenshot in the Test Results report:

This report really doesn't tell us much. We know that TestMethod1 had an assertion failed and that it expected 43 but got 42. But, had I never worked on this method and I made a code change that caused this, how likely would this...