couverture_ebook-assert.jpg

Test-driven design is at our fingertips. No hassle, no extra library, no further compilation chains, nothing. Just plain usual code in the very own main file of a class. Continuous unit-testing is immediate because the file being edited is the same as the one being run for the tests.

But the method pushes further than unit testing. The entire coding process can be efficiently reversed to the full extent that all the code is written *before* its dependencies. In fact, any algorithm or function using other programs behaves as a test for these other functions, even more so when it is guarded by invariants. So ID3A (read IDEA) becomes a philosophy of programming.

I am wishing every programmer many hours of happy coding, and that these few pages become their best read, as the method now is one of the most important things in my life as a programmer.

The method is presented and applied in the Java language, and shows how the coding process can be entirely reversed, from code that uses apis, to the implemetation of these apis, starting from the unit test, but also seamlessly integrated within the full development process across several examples.