Friday, January 22, 2010

Solving problems -- with help

I solved the link problem of yesterday. To do it, I needed some help. Not from other people, but from tools and techniques. Here's what I used:

- Version control. I used version control to track changes as I investigated the problem.
- diff and visual diff. With one working project and one failing project, I could compare the two and identify the differences.
- Automated tests. Once I made changes (and got things working), I ran the tests to ensure that the programs were working as I expected.

I could have solved the problem without these. But I feel much better with these tools and techniques. I have a higher degree of confidence that I have solved the problem and not introduced other problems.

Automated testing was useful later in the day, as I worked on a different problem. This task was to extend one of a series of programs. They use some common libraries, and I had to make changes to the libraries. How to ensure that all programs work after the change? Run the tests! I finished my changes at the end of the work day (a little later, actually), and I ran the tests, looked at the results, and knew I was finished. I left the office with a good feeling.


No comments:

Post a Comment