Refactoring

A few days ago I came across a tweet in my twitter timeline that made me think and spawned a little discussion: @diegorlosada Programming is one of the few fields […]

We use frameworks all the time. Some are part of third party libraries, others are self made. What options do we have if requirements change, especially for the custom frameworks?

Sometimes when I factor out a function, I see a more general algorithm hidden in that function. And then I get carried away generalizing it more and more.