Industrial Logic: Your Personal Trainer 24×7
Test Driven Development is easy. You write a test, then you write the code. Seems simple enough, yet it normally is not, and when you’re just getting started, you often make mistakes. It doesn’t matter how many times you read the steps or follow a course, as a novice you are still unsure whether you’re doing it right or wrong.
It would be great if somehow, there was someone constantly monitoring you and telling you whether you’re taking the right steps. Whether you are refactoring when you should, whether you are making tests fail before they pass. It would not only help newbies, but also help some of us to be a bit more disciplined. Up to now, this kind of monitoring was really only viable while having an instructor next to you. However, that has changed.
Industrial Logic, founded by Joshua Kerievsky, author of the well-known book on Refactoring to Patterns (highly recommended) have courseware on topics such as design, code smells, refactoring and test driven development. The difference with these courses however is that apart from being interactive and providing exercises, they also monitor how you perform these exercises by using a neat little plug-in for ReSharper that they’ve developed.
How it works
When you sign up for a course that involves exercises, such as their TDD course, you are prompted to install a ReSharper Recording plug-in:
Once this plug-in is installed, it will then automatically start recording any exercises you do. In the case of the TDD course, these exercises are designed to show you the flow of TDD: Red, Green, Refactor. It gives you a brief description of the required code to write and starts you off with a blank test. The one below for instance is to calculate bonuses:
Once you complete the exercise, you then upload a file. This file is the recording that the ReSharper plug-in has made. It includes information such as compiler errors, warning, the refactoring steps you’ve made, and a whole bunch of other useful information. Once this file is uploaded, it is analyzed and results are produced for you:
This graph indicates the portion of time that your code had errors, the amount of time with failing and passing tests as well as the actual phases. Every dot on the graph also provides detailed information about the event, along with a score.
These scores are determined by the activities that take place:
For instance, here we see that we performed a refactoring while having compilation issues, giving us a score of 0, or performing another refactoring before tests are run, resulting in a –1. These events all add up along with other factors to give you an overall score:
It doesn’t end there
The great thing about this however is that it doesn’t end with your score. As I mentioned, this course is fully interactive, which means that not only can you interact with instructors, but also other alumni, via in-place forums. For instance, below is a screenshot of a question that is asked after the exercise. It includes not only your response, but the percentage of the overall responses from other students along with open discussions from instructors and alumni:
This kind of interaction is invaluable. Not only do you have a monitor recording your steps, but you can also discuss issues you encounter or doubts you have throughout the course. What is also great is that all the mentors and instructors of Industrial Logic make it clear that there is no absolute truth. Every response, every comment, is always with the utmost respect and given from a personal experience perspective.
Watch it in action
The folks at Industrial Logic have put together a small video which shows how this works in action:
This recorder is great for exercises and learning, but it doesn’t stop there. When signing up to their courseware, you are also provided the option to have the ability to record steps on live projects and have them analyzed (Sessions album). Think of the scenarios this could help with! Not only can you see for yourself if you are doing things in ways that can be improved, but it also allows you to teach and help junior developers on your team.
The TDD course as well as many of the other courses surrounding refactoring and code smells by Industrial Logic are of the highest quality. They have an extensive album (as they call it) of courses.
Special ReSharper 6.0 Recorder Launch offer
To celebrate the release of Industrial Logic’s Recorder for Resharper 6.0, they are offering a 30% discount on the purchase of one of the following albums:
To obtain this special offer, please use the following discount code when ordering your album: ILRECORDER60. Please note that this code is valid until the 30th of September, 2011.
Subscribe to Blog updates
Thanks, we've got you!
Eager, Lazy and Explicit Loading with Entity Framework Core
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawbacks. In this post, let’s have a quick look at each of these ways to load data for navigational prope…
OSS Power-Ups: bUnit – Webinar Recording
The recording of our webinar, OSS Power-Ups: bUnit, with Egil Hansen and Steven Giesel, is available. This was the twelfth episode of our OSS Power-Ups series, where we put a spotlight on open-source .NET projects. Subscribe to our community newsletter to receive notifications about future webi…
Accelerating Your Testing Workflow with Unit Test Creation and Navigation
Unit tests play an important role in our daily development workflow. They help us ensure our codebase's correctness when writing new functionality or performing refactorings to improve readability and maintainability. In the process, we often create new test files that accompany the p…
Introducing Predictive Debugging: A Game-Changing Look into the Future
With the introduction of debugging tools, software developers were empowered to interactively investigate the control flow of software programs to find bugs in live environments. At JetBrains, we've always strived to improve the art of debugging. Besides the more standard things you expect from a de…