I love it when you get that moment of clarity after staring at a project for months, and you suddenly know exactly how it should be done.
I hate it when it's nothing like what you've got so far.
Spent the last few months off and on working on this stupid last tool for the dissertation, and last week came to the realization of how it all fits together... and also realized that everything up until now has been requirements collecting. Figuring out how the gcc dump tree is designed (or not), how exactly to map C++ with all its bastardizations onto a pure object model, and so on.
Well, now I know. Unfortunately, the code I've written to this point has all been to support the discovery of requirements, not the actual task that is the final product. Lots of nifty code used in clever ways that looks to now have very little purpose.
Ah well. A 10 hour sprint from 7pm to 5am, and I have about half of the all-new and improved framework in place. Let's see if I can do the other half by the weekend.
I hate it when it's nothing like what you've got so far.
Spent the last few months off and on working on this stupid last tool for the dissertation, and last week came to the realization of how it all fits together... and also realized that everything up until now has been requirements collecting. Figuring out how the gcc dump tree is designed (or not), how exactly to map C++ with all its bastardizations onto a pure object model, and so on.
Well, now I know. Unfortunately, the code I've written to this point has all been to support the discovery of requirements, not the actual task that is the final product. Lots of nifty code used in clever ways that looks to now have very little purpose.
Ah well. A 10 hour sprint from 7pm to 5am, and I have about half of the all-new and improved framework in place. Let's see if I can do the other half by the weekend.
clarity is a beautiful thing
Date: 2004-12-13 04:53 pm (UTC)Re: clarity is a beautiful thing
Date: 2004-12-14 06:34 am (UTC)(no subject)
Date: 2004-12-14 06:25 am (UTC)I'm actually going to have the opportunity to do a complete refactoring and implementation of a big project I wrote last year. I'm looking forward to doing the project over "right" this time.
(no subject)
Date: 2004-12-14 06:32 am (UTC)Basically, I architected a dandy tool for divining what the &*(@# was going on with gcc, but that tool doesn't work at all for what I actually need to *do* with it. I'm shocked I'm being able to save as much code as I have been able to. (Whoo Visitor pattern!)
Now if I could just get the memory requirements under half a gig... (one thread, massive data amounts running around in a garbage collected environment, all interconnected like spaghetti - you try finding the zero ref objects. :P) I cut it by about 10% last night, am hoping to squeeze another 25-30% out by the time I'm done.
Careful you don't fall prey to the Second System Syndrome though... Brooks nailed it with that one. :) (The tendency for developers of any stripe to say, after shipping the first product "Aha! I know how to do it *right* this time!" and then they get all excited, and end up throwing in everything including the kitchen sink, and screwing it up massively by losing focus.)
(no subject)
Date: 2004-12-14 06:59 am (UTC)I'm trying to be VERY careful about Phase II on this application. I'm going to be redesigning and rewriting it from the ground up, but it also will include significant new functionality that is really needed by the app, and some that is being pushed in by the customer which I'm not certain is actually needed. Have to wait and see about it.
Can you provide an accessible, but GOOD intro to design patterns? It keeps cropping up around me but I don't have any direct knowledge yet and I think it is something I need to know.
(no subject)
Date: 2004-12-14 07:09 am (UTC)And funny you should say that, we need to get together and chat sometime. :) Part of my dissertation is a new catalog of Elemental Design Patterns that I think have great utility in teaching OO programming *and* architecture design simultaneously.
Just ran across a new Patterns book though, Head First Design Patterns (part of a series of intro books) and from the sample chapter I've read, I'm pretty impressed with its ability to get the concepts across quickly. It's lightweight in tone, but had a lot of actual content.