Thank you for your donations!   Download the book!   Public source code repository   Join the group!

Unplanned changes

I'll have to change almost all of Python code used to render images for the book. Reason, it's legacy code.

One good definition of what legacy code is might be "code which currently works, but needs enhancements on it, and on the same time should not be broken, even if existing designs gets in the way of said enhancements".

This is, in my experience, one of the worst scenarios for any developer. While you sort-of could build scaffolding on a mine field, good luck trying to build skyscraper there. Once in a while it's good to retrospect on design decisions you've made, and decide is it still worth continuing with legacy code.

While I'm yet to stumble upon situation where it's difficult to render scene, I can certainly imagine scenes which would broke rendering code, and I can see that time coming. Also, by postponing re-implementation, I'd be left with much more scene code to convert.

As always with primarily design changes, what makes new design better then the previous one? Would better design justify all by itself all the effort, downtime, anguish endured? What is good design, after all?

Well, maybe in the next post.

No comments:

Post a Comment