Home of the Muppet Imperial Moderator Corps

Big ball of mud

One of the C++ programs we have to maintain has a 50,000 line monster of a .cpp file in it.  Made me think of this.

http://www.laputan.org/mud/

If they used templates, it could really cut down the size of it.  But everyone is afraid to touch it.
Permalink xampl 
September 29th, 2006 10:28am
Tempaltes would just turn it into a big ball of crap.
Permalink son of parnas 
September 29th, 2006 11:01am
50,000 loc in a single file?

Is it a single class, or could you break some of it out? I mean it must be a nightmare in terms of workflow too.
Permalink Send private email Rock Hardbuns 
September 29th, 2006 11:04am
Understand for C++ will parse it, and give you a call tree too.
Permalink SaveTheHubble 
September 29th, 2006 11:11am
Thanks for that, I've bookmarked it but Understand is 495 clams for a single licence BTW.

I've 13 kloc in one of my lumps but it's under control (just).
Permalink trollop 
September 29th, 2006 11:18am
You do know how many programming hours $500 US is, right?

But if you've got the time, and you don't got the money, I completely understand.
Permalink SaveTheHubble 
September 29th, 2006 12:03pm
ooo, bad pun that was. talk about throwing mud in his eye.
Permalink Send private email just me 
September 29th, 2006 12:32pm
>> Is it a single class, or could you break some of it out? I mean it must be a nightmare in terms of workflow too. <<

Single class.  There is at least one switch statement in there that, when printed, is 20+ pages.

How did it get this way?  One change at a time.
Permalink xampl 
September 29th, 2006 4:26pm
Call me a pervert but I really like these 'systems'.  My experience coming from a financial background, inheriting beasts that no-one, even users, really understands.

Then getting into it, watching coding styles emerge, trying to understand the mind of the person/people who came before you, breaking the code into logical blocks without actually making any changes, getting a big picture in your mind, then taking a big breath and making a real change.

It's quite a different experience to writing something new but hey, I like it.
Permalink Scott 
September 29th, 2006 9:14pm
We still talking C++ here?

One example of what Scott's decribing was 30 kloc of QBasic financial mainframe client spaghetti that needed its PEEK 'n' POKE comms ported from dialup to LAN and a few other tweaks. The 'tweaks' took far longer than the comms because the ripples went everywhere. No documentation apart from change dates and coder's initials.

Scott would have loved it.
Permalink trollop 
September 29th, 2006 10:39pm
It sounds like a pretty typical codebase such as you see at 95% of firms. Nothing to see here folks.
Permalink John Smith 
September 30th, 2006 4:10am

This topic is archived. No further replies will be accepted.

Other topics: September, 2006 Other topics: September, 2006 Recent topics Recent topics