This is an exercise for the Software Engineering class at the DHBW Karlsruhe.
Get Martin Fowler's book here.
More useful links
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
— Chapter 1, p.22
Code that communicates its purpose is very important. I often refactor just when I'm reading some code. That way as I gain understanding about the program, I embed that understanding into the code for later so I don't forget what I learned.
— Chapter 1, p.22
Notice how I'm playing the part of an enemy to code. I'm actively thinking about how I can break it. I find that state of mind to be both productive and fun. It indulges the mean-spirited part of my psyche.
— Chapter 4, p. 83
Don't let the fear that testing can't catch all bugs stop you from writing the tests that will catch most bugs.
— Chapter 4, Tip, p. 84
Build a good bug detector and run it frequently. It is a wonderful tool for any development and is a precondition for refactoring.
— Chapter 4, p. 84