No worries, I hope You had a nice and sunny vacation.Codewalker wrote:Sorry for the late response, went on vacation shortly after re-registering here and have been slowly catching back up on everything.
Oh, CoHEmu developers did not scatter at all, we just became less visible :)Codewalker wrote:Mostly 1 I think. Yes, the code can live on as it did with CoHEmu, but the developers scattered and it took a long time for anyone to get it back into usable shape again.
Valid point.. a map from functional component -> source location could be an useful feature.Codewalker wrote:It does make some sense, just can be a bit difficult to find what you're looking for. Perhaps a "developer orientation" guide somewhere that points out a general overview (or maybe there is one and I just missed it).
Yup, the code is over-engineered a bit and I do agree that simplicity is important.. It's not always easy to achieve though, especially when you don't have a clear picture of the feature you have to implement. Large part of the code base was built somewhat like this:Codewalker wrote:I wasn't really talking about optimization so much as design complexity. I prefer to start out simple and then add layers as necessary rather than starting out with a lot of abstraction and making it difficult for other programmers to figure out what's going on. That might just be something we have to agree to disagree on; wouldn't be the first thing and I'm sure it won't be the last. ;)
1. "Let's see if we can send proper data to help the client achieve the next step of communication..."
2. Lots of things tried here ( * picture of "wile e coyote" franticly building a mile high contraption * )
3. "Oh.. so that's what it does" ( construction is trimmed down and made less crazy )
4. A bug/mishandled bit is found - goto 2
Oh yes, I too am aware of dangers related to by-value storage in stl containers.. and all the 'fun' one can have with gratuitous constructor and copy calls :)Codewalker wrote:Oh, I trust that they work (and am quite intimately familiar with their inner workings), so I'm not worried about that. And they're fine with language primitives if you're after certain structures. Combining them with complex objects tends to create a massive amount of churn though as it creates and destroys them constantly, not to mention all the extra template instantiation.
Well, it's always fun seeing effects of your efforts, when you work like a gemcutter trying to bring out the inner beauty of the system for all to see. Given that the worked-on code has any inner beauty at all, 'cause polishing crap is no fun at all :)Also "..fighting massive code bloat due to STL containers causing template explosion.." - I'm jealous, there's nothing like a good bout of refactoring huge piles of code to get me going :)Codewalker wrote:Don't be, it got really old after a while... :)