Foreword / Robert C. Martin --
2. Working with feedback --
3. Sensing and separation --
6. I don't have much time and I have to change it --
7. It takes forever to make a change --
8. How do I add a feature? --
9. I can't get this class into a test harness --
10. I can't run this method into a test harness --
11. I need to make a change : what methods should I test? --
12. I need to make many changes in one area --
13. I need to make a change, but I don't know what tests to write --
14. Dependencies on libraries are killing me --
15. My application is all API calls --
16. I don't understand the code well enough to change it --
17. My application has no structure --
18. My test code is in the way --
19. My project is not object-oriented : how do I make safe changes? --
20. This class is too big and I don't want it to get any bigger --
21. I'm changing the same code all over the place --
22. I need to change a monster method and I can't write tests for it --
23. How do I know that I'm not breaking anything? --
24. We feel overwhelmed : it isn't going to get any better --
25. Dependency-breaking techniques --