A blank page can be very intimidating, even for a Test-driven developer. Where do we start? Write a test, right? Not always.more...
Legacy Code Workshop
The legacy code workshop is designed to help your team take TDD from the classroom back to their daily work. This is an add-on to our 2 or 3-day TDD training courses, or can be stand alone.
It works like this: you choose some existing legacy function to call (or class to instantiate). As a group, our coach guides you through the Legacy Code Change Recipe. Reacting to one problem at a time, we drag your code into the test environment, carefully dealing with the problems that cause your code to resist being tested.
After going through the recipe with the whole group, we may team-up people from similar technologies, compilers, products, and processors so they get more legacy code into the test harness. People work together share knowledge and discoveries in the workshop.
What's the goal of the workshop?
To shorten the time it takes for people to get their code into test harness, so they can use unit testing and TDD immediately in their daily work.
What is the criteria for choosing code to work on in the workshop?
- The code you choose should be important.
- It is actively in development, about to be changed or recently developed.
- It is representative of your code and the kinds of dependencies your code has. -- though probably not the most challenging code you have.
- Some people are familiar with it. -- if this is not true for everyone, that is OK, our coach won't be familiar with it.
Legacy Code Workshop Tooling
Embedded C and C++ Off-Target Development Environment OptionsYou will need one of these off-target build and execution environments:
For windows we highly recomend using a Linux virtual machine for your unit test environment. The Linux command line is very powerful for automating repetitive programming activities.
Starter kits for C and C++James provides two starter kits and instructions for getting a CppUTest environment set up.
In addition to a compilation environment, attendees will need:
Why do I need different development tools for the legacy code workshop?Unless you are a special case, your target build and execution environment is slowing you down. One goal of our TDD training and workshop is to help you get your code off the target for unit testing. We'll discuss many advantages during the course. In this training we'll start to reduce the impact of the target hardware bottleneck from your daily work.
Here is a short interview with James about TDD and embedded software from the deliver:Agile conference last spring.more...
James participated on these social media platforms.more...
Do you have some time to do a simple programming problem in C or C++ for my research?more...
My long-time good friend (Uncle) Bob Martin and I have fun programming together firing tracer bullets for distributed water pressure measurement system.more...
Here are a couple reviews of our TDD for Embedded C training.more...