I attended C++ training course at my work place last week. This is good for me because I did not feel well last week ( I got cold and headache): I can stay away from real coding during all these madness.
Seriously, I did not find the C++ course to be any easier than the work. The fun starts with “Pair programming” and “Test driven development (TDD)”. We had many excercises during the class. Basically we need to work in pairs and make sure our little program pass the test. I happened to work with my two coworkers doing the exercises, which I mentioned in my previous post here and here. Although they have been doing development using C (procedural language) most of their career, I was impressed by their helpful insights working on the exercises . Smart developers can learn things quickly and apply the existing knowledge to new things. I think that’s one reason our products are leading the industry and market most of the time.
Besides C++ language features, I found the testing driven development to be useful. Actually I had to fix two problems in my real code. I created those problems when I added new features to the code. The cause of problem one was that I did not run all the test cases. Problem two was not covered by the test cases at all: somebody outside my team found the problem and reported it, to my embarrassment. I did fix the problem (I think) shortly after.
But the most important of all, is I know how to prevent those kinds of incidents in the future.