Chapter 30. The Long Dark Teatime of the Soul

Before coming up with the optimized version of Undo in the previous chapter, I made three failed attempts to optimize it. The initial Undo had gone so smoothly, and the ideas seemed so clear in my mind, yet they would not come together. I would like to leave this report out, as it does not reflect my best moments. Still, there are bright spots even in the darkness, and perhaps you can learn from my mistakes as well, so here’s a brief summary of what happened.


In Chapter 28, we saw that Undo fit into our system in exactly one place, an ideal situation. No sweeping edits "all over the system" were needed. I believe that this shows that incremental design can work and can be resilient to change. ...

Get Extreme Programming Adventures in C# now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.