Test Driven Development: By Example
Clean code that works--now. This is the seeming contradiction that lies behind much of the pain of programming. Test-driven development replies to this contradiction with a paradox--test the program before you write it.A new idea? Not at all. Since the dawn of computing, programmers have been specifying the inputs and outputs before programming precisely.