as i’m putting the finishing touches on the next version, i was thinking, this code really needs some refactoring. it was the first c++ and object-oriented program i wrote, and it shows… i still don’t quite know the best way to do things in c++ - eg things that are so simple in ruby are extremely complex (and brittle) in c++. which is why i don’t like it. but maybe if i spent some time cleaning up the code, modularizing things, and learning the right way to do things in c++, it would be a good investment, because if i’m going to make this a real open source project, it really should have cleaner structure. eg adding a garbage cleanup library would be nice, though the ones i’ve seen don’t work with mfc…

also, it would be an opportunity to either get it ready for, or transition to, wxWidgets (or Qt?) (away from mfc), and also away from visual c++ to the eclipse cdt, which i’d really love to be using. and this would also make it cross-platform (theoretically - not sure how good wxWidgets is at that). and maybe doing some redesign as i go, using test-driven development, a concept which i really like, and wish i had known about when i started neomem back in 1999.

anyway, i actually enjoy doing refactoring, and making things more organized. the only thing is, it doesn’t get me closer to having the type or program that i actually want! neomem has lots of limitations, though maybe i could be throwing new features in as i went…

the biggest limitation to me, at this point, is not being able to just instantly create a new object, not caring about where it goes in a hierarchy, or if the class and property structures are set up yet. that’s what is always slowing me down, and why i still have two boxes full of index cards… so maybe just use ctrl+n for a new object, bring up a dialog with a grid at the top for properties, and a big scratch space at the bottom, and if you just want to throw a bunch of text in there for now, that’s fine. you could always go back and refactor the object later and partition the text out to properties.

the rails project kind of ground to a halt - there was just so much work to do on the basic infrastructure (mostly interacting with the database, adding properties/fields, and the way rails maps objects to fields, plus synchronization issues, and the lack of a good frontend for the database) that it was kind of discouraging - i need and want something now! maybe rails is the way to go, maybe nitro/og would be better though, i’m not sure at this point. so i don’t know what will happen with the new site design… i know what i want, but i don’t know how to get there yet!

Tags: No Tags