Do you often forget to comment your code and find yourself scratching your head years later, trying to figure out what's going on? After a few experiences like that you might be tempted to start ...