Consider replacing strings with Enums in resource references.

Consider replacing strings with Enums in resource references. I see code like this all the time in test and XNA and I really dislike it.                 MyCustomResourceClass resources = new MyCustomResourceClass();             MyImageClass currentImage = resources[“Image 1.jpg”];     I dislike because it’s nearly impossible to tell where the list of valid resources…


The right and wrong way to create unique data for tests.

I have noticed some code in various places that creates some conditions for mysterious test failures. You know the kind; “It works on my machine but will never seem to run in the lab.” In our tests its sometimes desirable to have a unique identifier. There are a lot of possible ways to create this…


Working with Permuations and Combinations

Something tests end up doing a lot of is working with permutations and combinations. For those of you who didn’t have the benefit of a good statistics class in college (or some gambling experience after) doing the math can be a hassle. Generating all the possibilities can also be a bit of a puzzle (it’s…


What constitutes a unit test?

When I speak of unit tests, sometimes there is a slight communication breakdown. Just becuase a developer wrote a test in the unit test harness does not a unit test make. This post does a good job of drawing a line in the sand.


Please stop re-inventing the wheel.

Please stop re-inventing the wheel. There are a lot of software wheels that get re-invented all the time. Re-inventing is a time consuming waste that many projects can cut. In almost all cases it’s much better to do some due diligence and use an off the shelf component where you can. Invest your time, passion…

2

Writing code for today and tommorow

Writing code for today and tomorrow Any developer working at a pace that will allow them to stay employed creates bugs. Testers get excited about a lot of different bugs. Testers should be lobbying for fixes that will have the biggest impact on the software. Teams don’t always agree on what those things are. Think…


Planning Software projects Part 1

Planning Software projects Part 1 Good planning is critical to delivering software. Anyone who has shipped a product knows that the plans we start with rarely survive the entire release process intact. Too many of the plans we start with are useless by the time we ship our software. Ideally our plans would serve us…


Planning software projects Part 2

Planning software projects Part 2 Plan how you will work Plan your infrastructure first In order for your team to be successful you will need to have some processes running smoothly. Builds, setup, automated testing, bug reporting and status are vital to the success of your project. Plan out how you will achieve all the…


Hyper-v export to off machine share trick.

Today I wanted to export a hyper-v machine to a share on a computer with more disk space. However I got this error: ‘General access denied error’ (0x80070005). I didn’t have enough disk space to just make it locally and transfer it over. I really should get another disk for that system, but not today….


Book Review: The Human Factor: Revolutionizing the Way People Live with Technology by Kim Vicente

Book Review: The Human Factor: Revolutionizing the Way People Live with Technology by Kim Vicente This book is required reading for everyone who develops technology for people to use. Vicente uses the phrase “human-tech” to describe technology that is a good fit between people and the machines they use. One story describes how a toy…