• boog (unregistered)

    I'm pretty sure I'd like to strangle someone with that ball of yarn.

  • (cs)

    It's the entire goddamn cosmos.

    With some extra bits thrown in for fun.

  • . (unregistered)

    It seems like Brian's tool would be a lot more useful if it spelled out the entire class name instead of just the first letter.

  • (cs)

    It's a fractal pile of shit!

  • derp (unregistered) in reply to .
    .:
    It seems like Brian's tool would be a lot more useful if it spelled out the entire class name instead of just the first letter.

    I don't think that would help, actually.

  • Paula Bean (unregistered) in reply to .
    .:
    It seems like Brian's tool would be a lot more useful if it spelled out the entire class name instead of just the first letter.

    Who says "just the first letter" isn't actually the entire class name?

  • Maurizio (unregistered)

    Anyone can produce a fractal dependency diagrams ? This was quite close, anyway :->

    Maurizio

  • Rob (unregistered)

    That's not a moon; It's a space station.

  • (cs)

    I've read "I Have No Mouth and I Must Scream", and I'm pretty sure this is how it starts.

  • (cs) in reply to dhromed

    Billions and billions of dependencies.

  • (cs)

    I always wonder about how these diagrams are generated. Do people just plug in a project to a tool and it draws them? In that case, does it filter out classes such as String, Logger and System, and other classes that could potentially be used by 90% of every class in the project?

  • Luiz Felipe (unregistered)

    Its over 9000 ciclomatic dependency !!!

  • Bheuk (unregistered)

    Respect for the tools that do not die generating such diagrams.

  • Luiz Felipe (unregistered)

    its is so complex, i think it is some form of life, and the coders is only natural selection algorithm of system evolution.

  • callenpoole (unregistered)

    I think I had a toy that made those once.

  • 3rd Ferguson (unregistered)

    No offense but a global dependency diagram for any complex system is a silly exercise. The underlying point of having a tool that can draw such a diagram is that the machine already knows and understands all the dependencies. You (the person) don't have to know them. You may have to know a tiny subset in order to do the maintenance coding that you're doing this week, sort of like knowing enough of the road map of North America to get coffee on your way to work.

  • anonymouse (unregistered) in reply to Rob
    Rob:
    That's not a moon; It's a space station.

    +1000! Win. Thank you sir.

    CAPTCHA: feugiat. Love child of a Peugeot and a Fiat.

  • (cs) in reply to 3rd Ferguson
    3rd Ferguson:
    No offense but a global dependency diagram for any complex system is a silly exercise. ...
    Not entirely. That diagram is potentially useful for explaining to management why it takes so long to add a feature, why we have to do so much testing, why there are bugs, etc.
  • gmw (unregistered)

    Code dependency is caused by codependency.

  • daqq (unregistered)

    Oh my God, it's full of dependencies!

  • (cs)

    IPV6 is doomed if we start assigning IP addresses to these dependencies.

  • 3rd Ferguson (unregistered) in reply to dgvid
    dgvid:
    3rd Ferguson:
    No offense but a global dependency diagram for any complex system is a silly exercise. ...
    Not entirely. That diagram is potentially useful for explaining to management why it takes so long to add a feature, why we have to do so much testing, why there are bugs, etc.

    Fair point. Lacking such a diagram, I explain those things by saying "The computer can do anything--and I mean anything--with the information and tools it has. The hardest thing about what I do is making the machine only do what you want."

  • Spike (unregistered) in reply to 3rd Ferguson

    It's not the number of classes that causes problems, its that everything is dependent of everything. Least to say is that this is bad design. To get in your sample: if there would be a roadblock somewhere in LA, you wouldn't get your coffee in NY :-)

    Captcha: nimis

  • Uncle Al (unregistered)

    So, I've got to put up the yellow card on this diagram. From looking at it, it's clear that there are areas where tightly coupled portions of the diagram have been located on opposite sides of the circle (for example, that highway running from 8:00 to 1:00). If one uses a dependency diagram tool that allows rearrangement of the diagram to move those zones into proximity with each other, does this diagram continue to look like a ball of yarn; or is that an artifact of a bad layout?

    Mind you, I've got no delusions that this thing isn't a dependency quagmire -- but I suspect that it's not as bad as the diagram makes it look.

  • Tim (unregistered) in reply to Uncle Al
    Uncle Al:
    So, I've got to put up the yellow card on this diagram. From looking at it, it's clear that there are areas where tightly coupled portions of the diagram have been located on opposite sides of the circle (for example, that highway running from 8:00 to 1:00). If one uses a dependency diagram tool that allows rearrangement of the diagram to move those zones into proximity with each other, does this diagram continue to look like a ball of yarn; or is that an artifact of a bad layout?

    Mind you, I've got no delusions that this thing isn't a dependency quagmire -- but I suspect that it's not as bad as the diagram makes it look.

    agree 100% - anyone who has used visio will know that it can turn the simplest of diagrams into a rat's nest just by having a hopeless algorithm. Graphviz by contrast can usually bring out any structure even if it's not obvious to the human eye.

  • Frankie (unregistered)

    Arranging every class in a big circle may be easier to program, but for large datasets the resulting diagram is useless except as artwork. Better options at https://nwb.slis.indiana.edu/community/?n=VisualizeData.Algorithms

  • Spike (unregistered) in reply to Rob
    Rob:
    That's not a moon; It's a space station.

    Or a deathstar

  • airdrik (unregistered)

    It looks like a puzzle game I've played called "untangle" - there are a bunch of points around a circle with lines between them; the goal being to move the points around until there are no lines crossing. I don't think there's any hope in untangling this one.

    I do have to agree with what some have posted - the visualizer could have done a better job at putting those components that are more tightly-coupled spatially next to each other and that would have uncluttered about 1/2 the mess.

  • Derp (unregistered)

    This, folks, is why it takes years for these "enterprise" systems to go through an upgrade, overhaul, or version change. And why it requires an act of a deity to change anything without causing problems. I worked at an insurance company whose backend code was much like this. Every project involved 10+ people because you had to touch so much stuff from all over the company which was owned by different teams. They finally had to upgrade their application server version since it was costing them so much money to be supported on an end-of-life platform. I think they'll probably be done with that by around 2015...

  • Simon (unregistered) in reply to Spike

    Really? You have seen Star Wars, haven't you?

  • (cs)

    It only looks this bad because the classes are arranged in a circle. Now if you arranged them in the shape of an anglerfish...

  • (cs) in reply to airdrik
    airdrik:
    I do have to agree with what some have posted - the visualizer could have done a better job at putting those components that are more tightly-coupled spatially next to each other and that would have uncluttered about 1/2 the mess.
    Except then it would have just looked like a big donut of yarn.
  • (cs) in reply to boog
    boog (cheap imitation):
    I'm pretty sure I'd like to strangle someone with that ball of yarn.
    Maybe the penguin?

    Oh yeah, and blah blah not too bright blah...

  • Jeremy (unregistered)

    I'd be more interested in seeing some dependency graphs of well designed systems.

  • (cs)

    I can pulay wid dat?

  • Larry (unregistered)

    TRWTF is the SVG file format.

  • (cs) in reply to daqq
    daqq:
    Oh my God, it's full of dependencies!

    ...and that is much scarier than it being full of stars!

  • Boba Fett (unregistered) in reply to boog
    boog:
    boog (cheap imitation):
    I'm pretty sure I'd like to strangle someone with that ball of yarn.
    Maybe the penguin?

    Oh yeah, and blah blah not too bright blah...

    Congratulations: you've managed to make yourself look less intelligent than your counterfeit.

  • Chris (unregistered)

    So, the thicker lines are because they're coding in a language that allows two classes/components to have a mutual dependency on each other? :-) (...yes, I know you can effectively do that even in C++ using interfaces^W base classes...)

  • Not a nerd (unregistered) in reply to Simon
    Simon:
    Really? You have seen Star Wars, haven't you?
    No
  • (cs) in reply to boog

    That is the most beautiful thing I have ever seen tear. That thing should be hanging next to the Mona Lisa.

  • (cs) in reply to Jeremy
    Jeremy:
    I'd be more interested in seeing some dependency graphs of well designed systems.

    My systems are so well designed in a single class with 1000+ global variables, that their dependency graphs look like a single point in the vastness of the Universe!

  • ThingGuy McGuyThing (unregistered)

    Can anyone recommend a good dependency grapher that actually groups dependencies intelligently?

  • Tony (unregistered)

    .... so that all the dependencies are abstracted away....

    ....Leaving the maintenance programmer the heartache of feeling out the big ball or yarn blindfolded.!

  • synp (unregistered) in reply to dgvid
    dgvid:
    3rd Ferguson:
    No offense but a global dependency diagram for any complex system is a silly exercise. ...
    Not entirely. That diagram is potentially useful for explaining to management why it takes so long to add a feature, why we have to do so much testing, why there are bugs, etc.
    No, it's potentially useful for convincing management that we need to rewrite this from scratch with our new favorite tools, and the new methodology of the day.
  • (cs)

    That is what I imagine the sky will look like 5 Billion years from now.

  • ( (unregistered) in reply to Boba Fett
    Boba Fett:
    boog:
    boog (cheap imitation):
    I'm pretty sure I'd like to strangle someone with that ball of yarn.
    Maybe the penguin?

    Oh yeah, and blah blah not too bright blah...

    Congratulations: you've managed to make yourself look less intelligent than your counterfeit.
    I see what you did there.

  • TheCPUWizard (unregistered) in reply to 3rd Ferguson
    3rd Ferguson:
    No offense but a global dependency diagram for any complex system is a silly exercise. The underlying point of having a tool that can draw such a diagram is that the machine already knows and understands all the dependencies. You (the person) don't have to know them. You may have to know a tiny subset in order to do the maintenance coding that you're doing this week, sort of like knowing enough of the road map of North America to get coffee on your way to work.

    You hit the nail on the head. Especially if you considered what would happen to a road map, if you placed the states alphabetically along the X axis, and Cities alphabetically along the Y axis - AND included every road without distinguishing a dirt lane from an interstate....

  • Anonymous Theorist (unregistered) in reply to 3rd Ferguson
    3rd Ferguson:
    dgvid:
    3rd Ferguson:
    No offense but a global dependency diagram for any complex system is a silly exercise. ...
    Not entirely. That diagram is potentially useful for explaining to management why it takes so long to add a feature, why we have to do so much testing, why there are bugs, etc.

    Fair point. Lacking such a diagram, I explain those things by saying "The computer can do anything--and I mean anything--with the information and tools it has. The hardest thing about what I do is making the machine only do what you want."

    which subset of "anything" includes determining whether it will go into an infinite loop?

  • (cs)

    I like the little red arrow at the top:

    YOU ARE HERE.

Leave a comment on “Enterprise Dependency: Big Ball of Yarn”

Log In or post as a guest

Replying to comment #:

« Return to Article